Social mobility in America, as near as I can tell, has stayed roughly the same over the past few decades. If you're born to poor parents today, it's about as hard to move up into the middle (or upper) classes as it was 50 years ago.
But as Jason DeParle writes today in the New York Times, it's also true that social mobility is a lot lower in America than in most other developed countries. Jared Bernstein points out that this is partly because income inequality in America is so high: you need a lot more money to move into the top 20% here than you do in Denmark. If we had less income inequality — if the poor families started out a little less poor and the rich families were a little less rich — we'd be a more mobile society too.
But it's worth drilling down a bit and asking what, precisely, is it that America does so badly at? The Times piece includes a chart comparing America to Denmark, which makes things pretty clear:
On the far left, you can see the only really big difference between the countries: the poorest kids in America are far more likely to stay poor than they are in Denmark and far less likely to get rich. And that's pretty much it. If you look at all the other quintiles (I took out the middle quintile to make the chart legible at this size, but it shows the same thing as the others), you see that there's not a lot of difference. And what difference there is favors the U.S. as often as it does Denmark.
So that's the problem: lousy opportunities for the very poorest kids. They start out worse off than Danish kids, and they end up worse off than Danish adults. There's no single reason for this, but one of the big ones is early childhood education. Danes do a much better job on this score than we do, and if we put more money and energy into this I'll bet it would make a big difference.