I agree and disagree with parts of the posts. I have been going to South Africa from the US for some 15 years.
I think SAA J class is a great product. Economy is not too bad. Their continuing to use the 340 from Iberia is criminal. I have had them from IAD-JNB in J and was furious of the inferior product. I have always found service on board in any class to be excellent. Their catering is also very good.
Ground staff in South Africa is horrendous. Totally incompetent, rude, careless of work and just does not care. If you ever run into irregular ops or a cancelation you will experience the worst service of any airline. I was on a SAA flt from JNB - MUC which was canceled. There are rules for airlines flying into the EU for such an occasion. SAA refused any compentsation, hotels, food. Their continued response was " We are African we do not follow European rules". In comlaining to customer service over many months ( and I was in paid J and Star Gold) they totally ignored me. They took care of the native South Africans including hotels; foreigners slept on the floor of the airport.
If you manage to get on board, and the flight takes off it will be a great experience. If you ever have to deal with any kind of problem on the ground, you have my sympathy.