Obviously, every situation is different.. doubt that needed to be said, but it is best to get that caveat out there.
I recently started at a company that has been outsourcing much of their development. Our lead dev here in the states is a native-born Indian, so he probably has an easier time coordinating the contractors than most state-side organizations. Unfortunately, he has found himself spending the majority of his time coordinating and managing the over-seas developers that it really cuts into his productivity. Bear in mind that this is not a simple management issue.. obviously a lead dev needs to spend time managing her team, but they require near constant supervision to ensure that they stay on task and don't waste time on dead-end tangents. Taking into account the time difference, it can be very difficult for him to stay on top of them while also working with the rest of the organization stateside. Being a very experienced developer and team-leader, he recognizes that the cost savings result in significant hidden overhead. That is the primary reason why we are now working on building a state-side team. Considering he already speaks their language and knows their culture, unless you have similar advantages you will probably not find yourself having an easier time than we did.
Bearing that in mind, I think your hesitation is grounded in logic.. in my humble opinion, you would probably get better results by fishing in the market of community colleges.. find some young, starving students and train them into what you need. That is a strong, long-term solution that will probably take some time to really bear fruit, but should have similar costs and results in the short-term to an outsourcing strategy. Treat them well, and you will have a loyal, dedicated, and competent team.