I have worked at two major tech companies where they've tried this. At my last company, the COO used to be a senior exec at an outsourcing firm. Regardless, the results in both cases were the same: a waste of time and money.
If you're going to pay an outsourcing firm peanuts, you're going to get engineers who lack the necessary skills. You and your managers will spend an inordinate amount of time hand-holding these contractors. If you don't, you'll get really poorly written code. It may work, but it'll be completely unmaintainable spaghetti.
That's assuming you'll get a finished product. The turnover rate for outsourced engineers is ridiculously high. The moment these guys hear about some other firm that pays another dollar an hour, they'll jump ship. Every 6 to 12 months, you'll be training new people to replace the old ones.
There's also the question of logistics. It's hard to communicate with people who live on the opposite side of the world. It's bad enough that things get lost in translation, but when two groups get together for a conference call when one of the parties should be in bed, that's just not productive.