The best advice is don't buy it in advance - you'll pay more and carrying large amounts of cash around with you isn't a great idea anywhere.
Just use the ATMs when you arrive (they're plentiful in Jo'burg and Cape Town airports and all the major bank ATMs will give cash against Visa or Mastercard) .. If you want to have some cash on you when you arrive just bring a few Euros and then if for some reason you were stuck on arrival you can easily change them at the airport at a lower cost than buying Rand would be in Ireland.
In general the best advice is similar to that on the recent threads about US$ ... try to use cash as little as possible and spend using your credit card as that's the cheapest