What causes rotating objects to 'slip'?
The Rigid Body World default values are OK for crude approximations of physics without much computational overhead but can be tweaked to produce more accuracy. In particular, try adjusting the following settings :

Increasing Steps Per Second should give a better simulation as each simulated step will be smaller and so more accurate. Similarly, increasing the number of Iterations gives it more chance to settle on a stable solution. Enabling Split Impulse should stop objects bouncing apart at unexpected velocities if/when the simulation results in them overlapping.
Try significantly increasing the number of Steps and Iterations and see if that improves your simulation and also try with Split Impulse enabled and disabled. Once you've got acceptable results you can try gradually reducing them to get a good balance between realism and efficiency.