Quite easy, take Malibongwe out past Harties, then get on the N4, head through to Zeerust, at the FNB in Zeerust turn right (R49), follow the road until you hit the border post (Kopfontein Border Post), after the border continue straight and reach Gaborone in 15mins.
EDIT: Refuel at Zeerust.
Whole trip takes about 3-4 hours depending on traffic and speed.
DO NOT drive the part between Zeerust and Gaborone after dark. Lots of animals and donkeys.
DO NOT exceed the speed limits (sometimes 60kmph) between Zeerust and Gaborone.
There is a tollgate at Schweizer Reneke, not sure about the fees, and one other one also not sure about the fees.
The SA border is quite a breeze, just make sure your car and driver's licence is up to date. Remember to get a border letter from your bank if the car is financed.
The Botswana border can be a bit chaotic depending on the traffic. You have to pay to take your car accross, one permit for the visit, another for insurance if I recall correctly. The insurance one is valid for 3 months, all and all I think it comes to less than R500. You can pay by cheque/credit card.
ANOTHER EDIT: Take as many black pens as you have people, will make filling out the border slips a lot easier and quicker.
You need an address you're going to be staying at in Botswana.
When you go through the border on the way there, grab another slip for the return so you can fill this out before you reach the border on your way out.
Source: I've done this many times.