I would recommend guest houses in Tamboerskloof/Gardens area.
When my friend visited me from the US recently, she stayed at:
http://www.ambertreelodge.co.za/
and
http://www.backpackers.co.za/both around R500/night for ensuite room/double
Backpack is much more tourist vibe and even has its own tourist agency inside that can be used to organise all sorts of daytrips and things.
Ambertree lodge is more quiet, only has a few rooms.
I have no idea about other hotels and high price ranges etc.