We fly to JNB regularly to visit our son and have flown both QF & SAA. Both airlines provide a good service (we would not hesitate to fly either again) but we have found cabin staff on SAA friendlier and more accommodating (can't comment on Y though as we've only ever flown J).
No doubt you are aware that both QF and SAA have one service per day with QF flying SYD - JNB and SAA fly PER to JNB. Cash fares are usually quite high (with little difference between the 2 airlines) because they have the Oz to JNB route to themselves so our last 2 trips we have used Velocity points to book with SAA via the VFF call centre. I reckon that was a good use of our VFF points and the surcharges are low.
We have also flown MEL - SIN - JNB with SQ once with a SIN stopover. Service was good but it was expensive (we went at Xmas time and J was nearly $5K pp return) - so we probably wouldn't fly via SIN again
QF63 departs 11am and arrives JNB at 5pm whereas SAA departs PER at 11.40pm and arrives JNB at 4.50am. We like the idea that we can have an early evening flight from MEL - PER and avoid the early morning start from MEL to SYD if flying QF. If you were to fly QF from ADL you would need to fly ADL -SYD first so maybe it would make more sense for you to fly ADL - PER - JNB. The 5am arrival can be a drag but if you qualify, SAA have an arrivals lounge at JNB which is convenient to freshen up and have some breakfast. The PER - JNB flight is about 2.5 hrs shorter than the SYD - PER alternative
Edit: If you intend to get a hire car at JNB airport it can be tricky driving in JNB once it gets dark (especially in winter with an earlier sunset) for first-timers if they arrive at 5pm on the QF flight. Once you get off the freeways, a lot of JNB streets don't have street signs and street lighting can be poor. Plus asking locals for directions can be a waste of time because many have little road knowledge, even of their local area. We've even had problems with the GPS giving us dodgy directions