The students are paying to go to <top name school>, not (very often) because they want to be taught by <top name professor>. From the university's perspective, there's little financial incentive to retain that top talent. Making it worse, the professor isn't being stolen by a competitor (another university) where students might spend their money instead.
In short, if you're asking for the free market to solve this problem, it has- from the professors' perspective.
Edit: put another way, these professors can earn the private industry far more money than they can the university. Often a lot more. Salary competition between such pairs of actors will always result in the same thing.