Dall'Italia mi sembra che non ci siano i voli diretti per ilSudafrica, la cosa migliore è passare per Dubai, con la Emirates, ottima compagni e ottimi prezzi.
Stavo guardando questi giorni i prezzi per Johannesburg che vanno dai 500 ai 600 € a seconda della compagnia che scegli, Emirates appunto, o Egyptair, Quatar, Etyopian (che non ti consiglio).
Dall'europa trovi i voli partendo da Zurigo, Francoforte, Parigi o Londra, ma il viaggio dura, molto, ma molto di più.
Passa per Dubai così ti fermi un paio di giorni che ne vale la pena.
Spero di esserti stato d'aiuto. Buon viaggio