Pyay train station is in the middle of town on Bogyoke Street near the Smile Hotel. All of town is within easy walking distance, but you can get a pedicab to your hotel if you wish. There is one train a day from Yangon which leaves at 13:00 (arrives Pyay at 21:30) and the return train leaves Pyay at 23:30, arriving in Yangon at 07:50. The fare is US$13 for upper class, $5 for ordinary.
If you want to hop on the train to Bagan, the Yangon to Bagan train passes through Shwedagar at around 22:00, depositing you in Bagan at 09:30.
There is a 17:00 daily departure for a direct bus service to Bagan which costs 14,000 kyat arriving in Bagan around 03:00 – yes, in the morning. As there is only one direct bus to Bagan per day, it is worth booking the ticket in advance, either through your hotel or by heading to the bus station yourself.
To Yangon, there are departures throughout the day (we were told every hour) for 4,500 kyat and there is no need to book in advance.
We were told that there were twice weekly departures from Pyay to Bagan (on Wednesday and Sunday) with the trip upriver taking four days. The boat leaves at 05:00 (in the morning).
The boat office is south of the Lucky Dragon and Pyay Strand Hotel along the river road -- enquire there for the latest information regarding boat schedules.