Hey jj. I was there for a week in September and had a great time.
I think you'll probably want to spend more time in Cape Town. I did not get to go there but everyone told me it's great. You've got coastline, you've got wineries... I think there's even penguins somewhere around there

The city is supposed to be quite nice.
I stayed in Johannesburg and you can pretty much do everything there in 3-4 days. We took a tour of Soweto, visited 3 wildlife parks and went to Pretoria twice (nice town, by the way).
We stopped in at Sun City and it's a nice resort and all that, but I personally wouldn't stay there unless you're spending the night before/after a visit to the nearby Pilanseberg National Park. It's a set of hotels with casinos, wave swimming pool, golf courses, entertainment centers, a zoo, and the like, surrounded by very picturesque mountains. Might make for a romantic get-away but I think that kind of thing would be better somewhere on the coast.
You can drive around on "safari" at Pilanesberg. Very large, nice wildlife park... not quite the movie image of safari I had (in the back of a pick-up truch with guides wearing khaki and carrying shotguns

) but it was cool.
If you've got 27 minutes of free time, you can see the video from my trip here:
http://www.morbyd.com/films/joburg.php
(apologies in advance that you can't fast forward through the boring 3-min introduction part

)