Not really, in my opinion. I did a bit of research the other day on the pretoria-CT route. The "First Class" service is just as expensive as a kulula flight. You don't want to go second class, believe me.
There is a company that is reasonably priced that hires a train specifically for certain routes, but I am afraid I can't remember the name.
I think there is an organisation called Friends of the Rail that have listings of shorter tourist routes all over SA
Apologies, Friends of the Rail only seems to be operate the Cullinan route
Try
http://southafricanrailways.co.za/