As a non-American I've never really understood this "oh, in state is still cheap" argument. Does every state have a top university? What if your state doesn't have a good university for what you want to study? UNC sounds nice for people lucky enough to have been born in NC but why should out of state people pay more? Or do people move to a state specifically for the universities?
Education is considered a state responsibility, not federal. Every state generally has a "flagship" university. And they usually have the important stuff covered, such as professional schools, so that their state's population has these needed skills.
If you are a smart enough student that you would gain admission to one of the highly-ranked flagship universities of another state, you are going to win scholarships to private schools too. The lower the rankings you are willing to go, the better scholarships you can get.
You can relocate to get in-state benefits but it may take awhile as states put conditions (e.g. living there for a year first, having a a job, etc) specifically to prevent people doing this.
That's how the UK fees started under Blair. Then Cameron came in, the principle of free education had already been abandoned, so all he had to do was tweak the price.
Remember that many US states are the size of European countries. This is the same deal that many countries in Europe have: subsidized tuition for residents.
Also, a lot of state systems have good schools: UC Berkeley, UMass Amherst, UIUC, UT Austin, and UW Madison come to mind.