I've never seen a successful software project where the entire application was written overseas. It's not easy to gather detailed requirements from US workers and throw it overseas and have foreign workers completely build it. The only way the offshore model works is to have American developers gather the requirements, plan out the work, give detailed tasks to foreign developers and then monitor the progress daily to clear any impediments / misunderstands and make sure the quality is acceptable. Then you have the problem of who is going to maintain the software for the next decade? To maintain software, you either need excellent documentation (which foreign workers suck at) or you need the same offshore developers to stick with the application through it's lifetime (good luck with that). At some point you lose that application knowledge and end up having to pay new people to learn it from scratch.
By the time you factor in the oversight overhead, the language barrier, the time lost in misunderstands, the quality gap, and the cost of having to pay new developers to maintain the application, I personally don't think the offshore model saves any money. But trying to convince the beancounters that is a waste of breath. All they see is that they can pay offshore developers half as much per hour.
Building software isn't like building an iPhone. An iPhone has detailed specs that foreign workers just need to reproduce over and over again. Each software application is a unique product that needs to be designed, built, and maintained from the ground up. That fact makes it much hard to just throw specs over the wall and have offshore workers execute it.