If we are going to stick with the title of World Champion, I believe the best way to go about it is an annual double round robin tournament featuring the 10 highest rated players. Each player plays every other player twice, once with black, once with white, and the player with the most points (win = 1 point, draw = .5 points, loss = 0 points) wins.
The problem with having candidates matches--or really any qualifying tournaments--is that it heavily favors the current champion. Even a player as strong as Carlsen probably has a < 50% chance of winning a tournament(s)/series of matches against other top ranked players. This means that the top rated player may have a cumulative probability of <10% of gaining the title, while the current champion, even if ranked eighth like Anand currently is, could have a 40-50% chance of retaining the title.
This is why the title of World Champion should be based off a round robin tournament of all the top players. Chess already has a robust, accurate, and thoroughly tested and revised rating system. We ought to make more use of it.
[1] https://en.wikipedia.org/wiki/Elo_rating [2] http://www.gautamnarula.com/rating/ [3] https://play.google.com/store/apps/details?id=com.Centaurii....
Edit: Another problem with matches, as opposed to tournaments, is that transitivity doesn't exist in chess (as I've learned in my years of competitive play). If A regularly beats B, and B regularly beats C, it does not mean that A will regularly beat C. This is where matches are flawed--one player could have a particular weakness against the other and lose a match to him, while still being the strongest player in the world, as measured by his results against all the other top players (which is what the elo rating does).