Tough choice between Rio and BA... as others have said, forget about Sao Paulo. It's the ugliest city I have been to, I am sorry to say. I still had a great time, as I was traveling with someone who knows the town well, and knows where to go, but going there without such help fills me with dread.
Rio has lots of renowned sites to see, such as the Corcovado and Sugarloaf, as well as the beaches of Leblon, Ipanema and Copacabana. BA has the grandeur of a once-great world city, with some areas that are making a valiant comeback. Great steaks can be had, obviously, and the wines are fabulous too.
Toss a coin perhaps?