I do use a CNC to do PCBs for the Cougar DiH hall sensor. It's a SOIC 8 chip. Works just fine. 10 mil trace, no problem.
However, I have to tell you that for finer pitch... tough... It wouldn't be easy to do 0.5mm pitch for, say, Atmel SAM4S with LQFP 0.5mm (not impossible). And the flatness of your table and fixing of the PCB has to be absolutely flat that it's not easy for large format. A vacuum table would be great, but for small PCBs, I mill some aluminum hold down for them (just a flat plate of aluminum with a rectangular windows on it and another milled flat backing plate to clamp the PCB flat). And obviously, your machine be better trammed perfectly... or you will end up one side cut too deep, one side no cut at all. This is mainly why larger PCBs are very difficult. Professional PCB milling machines solve this problem by using depth sensor, which you would not have with a regular CNC mill/router.
Also, your machine backlash better be tightly controlled. See, if your machine's backlash is 5 mil and your trace width is 5 mil... you might end up with no trace at some places.
A tip for after milling the PCB... you will end up with some copper burrs that you need to clean up. I find that using a fine grit Japanese water stone for knife sharpening works perfectly. Wet the stone with some water, press the copper side down, run a couple of passes and all the burrs are gone. A good blast of compressed air.... and you are good for soldering.
Also, if you use Windows EagleCAD's PCB2GCode to generate the GCode and your mill is using Linux EMC... you'd need to run dos2unix on the generated GCode to translate the Windoze CRNL to NL, otherwise Linux EMC will err out and spit out some weird/confusing error messages.