Taungoo is on the main north-south train line from Yangon and Bago. Trains are best described as very bouncy. Five trains a day in each direction pass through Taungoo. The 06:00 and 08:00 departures from Yangon give the most convenient arrival times (ordinary $5, first class $10, upper class $13). Three departures leave daily to Thazi and Mandalay, leaving Taungoo at 13:04, 21:35 and 00:04 arriving in Thazi ($11) roughly 6 hours later and Mandalay three hours after that.
Buses to Taungoo depart from the Aung Mingalar bus station in Yangon and the trip takes 6 to 7 hours and costs 4,000 kyat. In Taungoo, individual bus kiosks are scattered around the eastern side of town -- ask your guesthouse which one you should buy your ticket from -- or they can probably buy it on your behalf for a small surcharge. A bus from Taungoo to Mandalay costs 8,000 kyat, and Meiktila (8-9 hours) 5,000 kyat.
A direct overnight bus to Kalaw costs 17,000 kyat with multiple evening departures. If departures from Taungoo are full you can head to another bus kiosk where you can get a through bus from Yangon. If you choose to do this it is recommended you have your hotel or guesthouse call the bus company to reserve you a seat on the Yangon departure -- otherwise you'll most likely be in the aisle.