SAA can't make UK routes pay because they run the airline as the ANC's private air taxi service. So they're not relevant here other than insofar as they handed passengers to their competitors.
BA can make the route pay with double daily through the summer, and double daily 3 times a week through the rest of the year. Their 777s are certainly more cost effective per RPK than VS's 340-600s, and the 744s may be.
I suspect that VS have got revenue management and marketing wrong on the route, and that there are some internal politics involved in this decision.