Virgin only go to JNB nowadays, so you'd need a transfer. Or maybe go down to Cape Town on one of the special trains e.g Blue Train ( from Pretiria a taxi ride from JNB ). Just a crazy suggestion there.
As flights are through the night, you might want to take a look at better seats like Premium Economy on Virgin and Air France, which are good options for PE. Not lie flat like biz seats but nice and more likely you'll get slept - and especially since in economy its getting more cramped - e.g. 787s already so and 777s now densified to ten. Also check out Thomas Cook airline from LGW Gatwick, who have their own version of PE seating and may be cheap, I don't know. Youtube is your friend to check out these options.
Regarding timing of visits to SA, weather is highly different in Cape Town seasonally to other parts of the ****ry so be specific when looking at climate.