I was also in all 3 in December/jan and my vote goes to Rio de Janeiro.
Sao Paulo is just a concrete jungle of 100km traffic jams and choppers whizzing everywhere. It's got a bizarre appeal to me but it's not worth seeing.
Buenos Aires is a very 'classical' city in the European sense. It's very cheap and the steak.. yumm.. but can get very boring.
BUT, if you can get the visa in time, Rio is a MUCH better choice, extremely interesting city, one of the nicest cityscapes on the planet. Excellent food, decent prices, people are really pleasant. It's got a reputation for crime but the only crime is not going.. it's really an amazing city.
The visa is good for 5 years so it's not an unreasonable expenditure if you go more than once in the next 5 years.
I love Rio, one of my top 3 fav cities on the planet.