On the day a return Reading - Cardiff is £50ish
Try breaking the journey at Swindon - Return Reading - Swindon is £20, cheap day return Swindon - Cardiff is around £15. Not sure if the fares have gone up though for 2009, knowing first "great" western they probably have a bit. They'll sell you both legs at Reading ticket office and you can get the direct services to and from cardiff.
If you are really keen to make it cheaper again, get a cheap day return reading - didcot / didcot - swindon / swindon - cardiff. Get a bristol Temple Meads bound service as far as swindon (as they stop at didcot while the cardiff services do not), and then the direct swindon - cardiff service from there. I think that comes in at around £30 all together but it's more of a faff.
Thus endeth the lesson.