I have a 4th axis that I am in the process of debugging.
Here's some CAM software
http://www.deskproto.com/features/newinv4.htm
MESHCAM is working on multi-sided machining.
http://www.meshcam.com/
The 4 axis machining is not quite ready, but you can manipulate the code manually to get it to work.
These packages use the 4th axis as an indexer and you route in a 3 axis mode, rotate the part and route some more.
There are more efficient ways of doing this, but it works fine.
MACH 2 or TURBOCNC will control more than 4 axis on your machine.
FYI, I first set up my 4th axis with a wood lathe. I replaced the drive motor with a stepper motor. This works well as long as you keep the spindle exactly over the top of the 4th axis. In multi-sided machining, the spindle moves in both X and Y and I once I started cutting off-center my stepper motor wasn't strong enough to keep the axis locked in place. An indexer with worm gear seems to solve this problem as the worm gear provides the holding torque.