I say keep it in house as much as you can, but, if there is a particular aspect of what you are trying to create that someone outside may be better suited for, outsource that particular part of the project.
There is no reason why a project needs to be either completely in house or outsourced.
