To call the numbers below from the U.S., dial 011 (the international dialing code), 55 (country code for Brazil) and the local number.
Autoviação 1001 (11-4004-5001, http://www.autoviacao1001.com.br/en/) and Expresso do Sul (11-4004-0004, http://www.expressodosul.com.br/pt/) both operate buses between São Paulo and Rio de Janeiro so frequently that you can simply show up any time before 2 a.m. and expect to leave shortly. Comfortable and deeply-reclining executivo ($49) or fully horizontal leito ($63) seats come with blankets and pillows. Food and drink (including alcohol) are allowed on all buses, but they also stop every three hours or so at roadside eateries. (Under Brazilian law, drivers must stop and rest.)
Aguia Branca (11-4004-1010, http://www.aguiabranca.com.br) was used from Rio to Vitória ($45) and from Vitória to Salvador ($90). There are lots of great stops in between at smaller cities, especially in southern Bahia. These seats were semi-leito, which, like executivo, recline almost horizontally. The cheap convencional category is the only one in which you'll have to stay relatively vertical. All but the most budget travelers should go for the other options.
Buses will have restrooms and usually unlimited bottled water. People sleep, read, stare out the window, chat (during the daytime only) or watch onboard overhead entertainment.
TO LEARN MORE
For trip planning, http://www.braziltour.com.