Outsourcing doesnt have to be to a foreign country, it happens all the time. There are organizations with big IT departments that choose to pay outside company to do the work. Is that a good idea? It depends, as with everything.
You have to realize that you will spend much more time on specifying and verifying the implementation of requirements, interfaces, etc. than if the developers were in-house. If you don't do that then you're going to fail. This increase of specification cost, is due to communication problems with external parties.
If you are prepared to stop coding and start managing - why not go for it. Just be careful and precise with requirements, including non-functional ones (performance, etc.). Always mention that you won't pay if it doesnt adhere to the spec and good practices. If you are going to own their code later on, you should also enforce some standards, frameworks used, etc...
You do see where I'm going? You can outsource the grunt work, not the thinking.