I've recently had openings for well-paid EE/CS interns at a top-tier company. These are INTERN positions that pay in the "$37000-$47000" range and frequently lead to permanent positions that start at twice that and rise rapidly from there. I rarely see a single candidate who is, as you classify, a "native born anglo-saxon american". When I do, I rarely see one who can follow basic logic and apply algebra to a simple problem. The interview is usually essentially over in the first 20 minutes.
Of the last 2 interns I hired, one happens to be a product of the US education system and the other falls in the "Indian/Asian" category. I can give one a permanent position. The pay is the same regardless of which one I choose. If I choose the non-citizen, I am in for a whole pile of extra paperwork to get his labor certification done.
There is no comparison on the performance level. (The hours are identical -- interns work exactly 40 hours per week) Even though I will wind up with a whole pile of paperwork, I am hiring the non-citizen. I'd rather have to do the paperwork than have to teach the kid who grew up here all of the things that his parents and teachers should have taught him over the years.
Face it. I need to hire people who know how to do stuff. In the last 20 years or so, we started to produce kids that don't know how to do anything. Personally, I think it was around the time that parents started to buy kids nice cars rather than helping them get a heap of junk out of the classifieds and lending them a set of tools.
There is a part of me that would rather hire my fellow Americans. Too bad I can very rarely find qualified ones. That pains me.