I've seen it work well
For IT support, I think having the customer facing call centers offshored doesn't matter at all so long as they speak good enough English without too thick of an accent (Central America seems to work better than India, in other words, for US support, and wages are similar between the two now anyway)
For back end support, having the lower end support offshore in India isn't a big issue. A lot of that stuff is simple rote work that anyone can do, following a simple formula. When you get to higher levels of support for more complex problems where you might involve customers and/or vendors, it doesn't do well in India. Not that there aren't smart people there, but the really smart ones are in such demand they don't stick around very long and you end up with the ones who don't know enough to be able to move on to other jobs quite so easily. It is better having that last line of support local, especially if they're still located on site with the customer so they can develop relationships with them, etc.
The problem is, as pointed out earlier, where do you get those high level guys in the US (or UK or other expensive countries) once all the low level jobs have moved on? The ladder by which new IT workers in the US learn on the job and become high skilled is being removed rung by rung, so fewer are able to climb it each year.