How exciting! I spent a semester in South Africa (August - December 2007), so I can't say too much about the best time of year, though the weather was great pretty much the whole time I was there, which is their spring. Angie, when you say winter, do you mean US winter, or South Africa winter?
I second Angie's recommendation of Capetown - it's probably the most beautiful city I've been to. Depending on how long you'll be in South Africa and how touristy you want to be, doing the game drive and CT would be plenty! I wouldn't recommend spending too much time in Johannesburg as it has a reputation as the most unsafe of the cities, and is certainly the largest. I also spent a lot of time in Durban, which I liked but it's not an attraction like Cape Town.
Honestly, what you should see depends on what you want to see. There is a lot of suffering in South Africa, but most visitors don't want to see it and can easily vacation in South Africa without being aware of the number of people living in shacks, dying of AIDs, etc. So, I think the first order of business in planning your trip is deciding how much of South Africa you want to see while you're there.