I've taken both back to back.
Well it was the A340 JNB-FRA (from what I can see it's the same cabin/seat) with 4 hours to freshen up and then get on 748i FRA-LAX.
The upper deck is nice on the 748 but you don't have direct aisle access and the seats V into each other instead of away with a thin foot well divider.
Relaxing in each seat I found neither to be more comfortable than the other. You do get nicer bedding on SA.
My crew on JNB-FRA sucked, FRA-LAX was great. But the REAL winner for probably best crew experience I ever had was on SA for the JFK-JNB leg.
Food was about the same, maybe a bit more presentation on SA.
For me in this case I would say
1) Price
2) Schedule
3) Bucket List Experience