Federer is extremly graceful and I think he has an elegance to his play that the other two don't have. But I would have to say that imo, Nadal has a bigger array of shots. I have seen him retrieve and make a winner from shots that he has no right even getting near. Being fit is one thing, you still have to execute the shot.
To my mind, Federer benefited from his career taking off at just the right time. He had 3-4 years of being the one main player on the mens tour after the retirement of Sampras and before the real arrival of Nadal and then Djokovic. By the time Nadal had truly arrived and won Wimbledon in 2008, Federer had only lost to Nadal in Grand slam finals, x 1 at Wimbledon and x 3 Roland Garros and had won 12 of his now 17 titles. Nadal has had to compete with forcing his way into winning other Grand Slams against the might of Federer at his peak plus the emergence of Djokovic and Murray all pretty much at the same time whilst Federer had that 3-4 year period where none of the competition was really up to dethroning him.
In fairness to Nadal, you play to the speed of the server - that is the rules. You know what you get with him and if other players use that as an excuse for defeats then to my mind its a poor show.
It looks like your feelings with Nadal are similar to mine with Federer in that it's a preference also based on personality. I don't like Federer because I find he has a terribly arrogant demeanour and comes across at key times as pretty condescending. I remember his speech after winning Wimbledon against Roddingdong in 2009 which came across so poorly about knowing how Roddingdong felt being a runner up that it backed up my feelings about him.
Great Player no doubt but he doesn't come across as a Good Champion to me.