I did the train (from Cuzco to Puno) in 1998. I think it was $70 at the time for the first class service. The advantage is you can get up and walk around, and then when the train stops in stations you can reach out the window and buy stuff.

The bus is now faster (6 hrs vs 8), and cheaper than the train. We paid about $20 for the nonstop bus from Puno to Cuzco earlier this year, the bus service was very comfortable.