Just arrived tonight in CPT, booked with UA miles and flew in J the whole way (EWR-IAD-JNB-CPT - though the EWR-IAD leg got cancelled, and we needed to scramble down to IAD).
I booked the trip here in January, booked the return in June after setting an alert for JNB-JFK (originally was routing CPT-JNB-DOH-FRA-JFK).
My suggestions:
- Start your search early - availability on the JFK/IAD-JNB routes seemed to be really tough around my dates (though it is peak season right now, so that may have contributed)
- If you plan to fly from JFK/IAD to JNB, I would recommend the JFK option - we flew from IAD, which has a refuel stop in DKR mid-way through the trip (annoying for sleep), IAD also gets in much later (which makes for a late connection to wherever you're going if beyond JNB), and IAD is serviced by a 343 vs. a 346 out of JFK - so there's a chance you'll get put on one of the ex-Iberia birds (as we did) - which are slightly less pleasant in J (several threads in the Middle East / Africa forum speak to this)
- Availability out of Europe down to JNB was also really hard to find during this time of year, but I recall fights from South America having better availability. SAA does fly direct from either GRU or EZE to JNB (maybe both)