I live in Sao Paulo city. Here you have to go 60kms to the beach as the city is inland and up the coastal mountains. It also depends on the time of the year. If you go in July, then you better go to northern Brasil as it is very cold here. To put it into perspective, the night temp is around 4C and daytime around 10-12C, certainly not beach temps. As for Dec or Jan, its much warmer, yes, but the rain will drive you nuts. Since dec 19th, it has rained almost everyday. This isnt normal but this is Sao Paulo, anything can happen. As for best beaches in my opinion, if you like people, then Guarujá. If you like sandy beaches, then Boicacunga (about 60kms north of Guaruja). Most people like to go to Ubatuba (much farther north) but the city has a nickname Ubachuva. Chuva means rain. You get the point. This year has been terrible for going to the beach. Best to avoid any beach south of Santos (dirty and dangerous).
Also, remember Sao PAulo is NOT a tourist city. Its a big financial centre. For toursits, its like going to some huge hick town (the city itself). But there is one thing you must do. If you like meat, go to any churrascaria. All you can eat meat!! Once you try the picanha and fladinha, you'll know what I mean. But prices vary greatly!!!! From 5 dollars to 50 dollars. Tendall Grille is 5 dollars. ANy place on Marginal Tiete will be near 25 dollars and Brooklin around 40+.
My suggestion is to do things OUTSIDE of SP city.
If you need any other info, email me.