Train services are virtually nonexistent in Brazil, therefore traveling from city to city must be done by bus (if not by plane). Intercity bus services in Brazil are quite reliable and punctual.
São Paulo has 3 intercity bus terminals:
Terminal Rodoviário Jabaquara - connected with the Jabaquara subway station on the blue line - buses to Santos and the southern coast of the state of São Paulo.
And the largest bus terminal in Brazil, most commonly known as "Rodoviária do Tietê":
Terminal Rodoviário do Tietê - Connected to the Tietê subway station on the blue line, it serves 65 bus companies that operate 300 lines, heading to 1,033 cities in 21 of the Brazilian states, and going as far as 4 countries in South America (Argentina, Chile, Paraguay, and Uruguay).
If you are going by car or by bus, the address is:
Av. Cruzeiro do Sul, 1800
Santana - 02030-000
São Paulo
subway station: Portuguesa-Tietê
Phone number: 11 3866 1100
The bus terminal is quite clean and organized, and offers a good choice of souvenir shops and eateries. Toilets are also ok (you must pay to use them). However, it is also very large. To avoid getting lost or losing time, visit it some day before your actual trip (for example, go there to buy your tickets), so you find your bearings and do not get exasperated on the day of your trip. And it is not too much to say to keep your belongings close to you at all times.
For a list of the cities served by the buses, see here .
For a map of the terminal, click here.
Boarding gates at the underground level
Some bus companies sell tickets online... try it here:
To conclude, one warning: check the calendar of Brazilian holidays and avoid at all costs to travel in the evening before a long holiday... the Rodoviária will be overwhelmingly crowded! Just do it if your humor is above average!
And have a nice trip!