Roger Federer takes the top spot for the first time, with $106 million of pre-tax earnings, edging past Cristiano Ronaldo and Lionel Messi, who have swapped the No.read