What is it with British actors on Who only sticking around for a few seasons? If you pay them enough they will stay. I know one can get type cast playing the Dr. but three or four years is not asking for a lot.
While there's a slightly interesting argument to be made with regards to the differences between public service and commercial broadcasters that doesn't necessarily hold true for all eventualities, the easiest answer to this is: Why would you pay an actor over-the-odds to stay in a role when the role is designed to be recast? The show thrives on change, why would you risk stagnation?
I understand the money argument. However, they have an actor who is right for the part, and a show that is popular, they shouldn't fix something that is not broken.
Dr. Who, today, is a popular show all over the world. A show that, I'm sure, brings in substantial money for the BBC. As such, its counter productive to every two years switch actors that work.
The show is made for recasting because of this abstinance. Its one thing to recast every five to seven years. Its another to change a popular actor playing a popular main character every two or three years. Bad business, public broadcasting or not.