I'm a relative newbie to the CNC world. Last year I got a knee mill, XP laptop, EZcam Pro, and sat down to learn. The folks at EZcam had infinite patience with my questions (I was barely familiar with Gcode, and knew nothing about CAD/CAM), and managed to get me to a point where I could start doing useful stuff on my own .... I give them top marks for customer support.
The XP dripfeeds the mill using Windows XonXoff protocol. EZcam contains it's own drip feed software but I haven't used it yet as the Windows protocol seems to be working fine. The Gcode posted by EZcam for my particular machine looked like it expected my machine to have an automatic tool changer, but in fact it does not. M00 was added in the right spots to stop everything for manual tool changes. That was the only edit, and the whole system was up & running.
EZcam for 2D stuff is pretty straighforward and the examples provided were plenty sufficient . For 3D I had a steeper learning curve since I had no CAD experience. Overall it is easy to use, has a number of time-saving functions (like filleting), and talks directly to Rhino. I'm still a newbie and learning more every day, and am still quite impressed & pleased with this software.