I think that a graduate tax makes infinitely more sense.
If you go back 20 years to when I went to university, the system of free university education and maintenance grants was patently a massive subsidy to the middle and upper classes. Only 15% of school leavers went to university/polytechnics, and they were overwhelmingly from richer families. If you went to uni, you had a very high chance of earning a good salary afterwards.
Things have changed massively - with 50% of young people going on to uni, there is no way that they can all earn high salaries as a result.
So, either the repayment levels are set high enough that many people don't pay back much of their loans (and have a debt burden hanging over them forever), or you are taking a substantial amount of money from people on average or lower incomes, whilst those earning lots can pay their loans off quickly.
A graduate tax that only kicked in once you earned above the average full time wage (and was guaranteed not to take you below average earnings) would
a) make money for the treasury (since those earning lots would pay on all their income)
b) be fairer, as there would be no way that those with richer parents could avoid it
c) not hit those on lower earnings.
I agree there is the potential for some people to avoid paying by leaving the country, but there could be a mechanism for your education to be charged for directly if you left the UK within X years of graduating.
Of course, there is also the question of whether it makes sense for 50% of school leavers to go on to higher education in its current form, but that might be for a different thread :)