Here is some info on Iran trains and buses on Tehran-Isfahan-Shiraz route. The info were updated on April 2011. So for more info, check out Iran Travel Train Service.
Tehran_shiraz sun-Tues 20:45.
Shiraz-Tehran sat-mon 17:15.
The fare is about 23 $ now.
Duration of trip from Tehran to Shiraz is about 15 hours.
Shiraz-Isfahan sat-Mon-Wed 18:00 or 17:15.
Isfahan-Shiraz sat-Mon-Wed 4:30 .
The fare is 10-11 $ currently.
While there are frequent buses every hour and 2 VIP buses every night. The fare is much less for usual Volvo or Scania buses (currently 16 $) and about the same for VIP buses (current 22 or 25 depending on the company)
For this route and generally for shorter distances, buses are preferable.
In general, I suggest the both train and buses can be convenient for Tehran-Shiraz route.
I do not recommend the train for this route cuz bus is much faster.
Flight can be the most convinient if you do not mind the cost.
This info is updated based on 2011 spring schedule (April).