I've used my CNC for milling PCBs for more than a year now.
Here are a few tips:
1st: don't skimp on the machine itself, the 3020 and 3040 are ages ahead of 2018 in terms of quality and reliability (the numbers show the machine size in cm) as the the 3020 and 3040 have no moving bed, but a moving gantry instead, search for the ballscrew ones (normally Z-DQ but also some T-DQ, initially T meant Trapezoidal screws and Z ballscrewZ, but now a lot of T-DQ come with ballscrews). Get the parallel port ones, the usb ones are flaky, you can run an old parallel port (centronix) computer with old WinXP or LinuxCNC or attach an arduino nano/uno (328p) and run GRBL, just attach that to the parallel cable and you're set.
https://www.ebay.co.uk/itm/USB-CNC-ROUTER-ENGRAVER-ENGRAVING-CUTTER-3-AXIS-3040T-DQ-WOODWORKING-3-USB-PORT/282593206065?hash=item41cbde1f31:g:ibsAAOSwC9VZfuV0
2nd: if you buy it stock it comes with a 300-400W aircooled 12,000rpm ER11 spindle, good but not good enough, I've upgraded for a watercooled 300W 60,000rpm spindle (costs almost as much as the machine itself) but I can run it at 1400mm/min and being watercooled it doesn't spread the "deadly" fiberglass dust everywhere.
LE. you can also buy just the frame and buy separately the spindle, 3 nema 23 steppers, 3 tb6560 or 6600 drivers and a 24v or 36v PSU, we are tinkerers after all, aren't we?
https://www.ebay.co.uk/itm/300W-ER8-Spindle-Motor-Water-Cooled-60000rpm-1-5KW-VFD-Inverter-Bracket-Pump-Kit/192035995150?hash=item2cb63cbe0e:g:kz8AAOSw-0xYNoey
3rd: it is said that milling fiberglass boards (FR4) can create very very very small dust ("charf") under 3 microns which when inhaled is never released from the lungs, gets it's way to the pleural membrane where it creates small cysts that can degenerate in lung cancer, a very slow an painful death. So a good vacuum cleaner which exhausts OUTSIDE is a must, unless you buy very high end and expensive professional HEPA filters. I use a Philips HEPA vacuum cleaner, being a hepa means all exhaust is from the back port and no additional airflow is created (my shopvac has dual airflow, one for debris and one to cool the motor, guess what they are not at all isolated between them) and after the exhaust filter I 3d printed a 50mm hose adapter and exhaust it outside. I've wrapped the contraption in a thick garbage bag and sealed it with tape so no air can escape inside.
Another way of doing it would be wet milling using a lubricant as WD40, oil or even liquid soap but might interfere with number 4 below (swell the mdf sacrificial layer).
4th: you have 3 options to fix the blank pcb to the sacrificial layer:
-clamps/screws: easiest, cheapest way, buy you will almost always get a bow in the board, it can be as bad as 0.5mm in a 100x150mm board, especially if you don't want to waste real estate and mill the whole board from side to side, I know you could use a 200x150mm board and leave an inch or two as a border and clamp there but that doubles the costs, I use 148x98mm out of the 150x100mm blank
-double sided tape: use 3M Scotch 665, it handles well, sticks well but is not very hard to remove the board from the mdf sacrificial layer in the end, some other double sided tapes hold so well that you bend the board trying to remove it, or jut let loose and you lose alignment
-vacuum table: I've just bought a vacuum pump but haven't got the time to play with it yet.
5th: ALWAYS use registration holes, put a small known size hole at a known position, if you reset or stop any GRBL controller you lose position, specially when milling small traces 0.1mm out of alignment can make a huge difference
6th: don't be afraid to test feeds and speeds, as other people said buy mills in bulk and sacrifice one of each to make tests, you can learn a bit GCODE and write a simple program to mill a zig-zag pattern at different feedrates (G1 X100 Y10 F300; G1 X0 Y20 F300; G1 X100 Y30 F350; G1 X0 Y 40 F350; etc) then inspect using a magnifier/microscope and settle for the best quality speed. I use titanium coated engraving bits from 0.1mm 10deg for very very small smd traces up to 0.4-0.5mm 30 deg for normal th boards. A 0.4mm 30 deg titanium coated bit can last for up to 10 heavily packed 100x150mm boards as you can see below. At the price it comes ( under $1/piece) it's cheaper to use a new bit then to destroy a blank board, which you will anyway at least a few dozen times
https://www.aliexpress.com/item/10x-Titanium-Coated-Carbide-PCB-Engraving-CNC-Bit-Router-Tool-10-Degree-0-1mm-Tip/1535712782.html?spm=2114.search0104.3.60.32Or0K&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10344_10068_5000016_10345_10342_10343_51102_10340_5060016_10341_5130016_10609_10541_10084_10083_10304_10307_10301_10539_5080015_10312_10059_10313_10314_10534_100031_10604_10603_10103_10605_10594_10596_10142_10107,searchweb201603_14,ppcSwitch_3&algo_expid=e598dd4d-29ef-4a85-af37-7bfefdd92c46-7&algo_pvid=e598dd4d-29ef-4a85-af37-7bfefdd92c46&rmStoreLevelAB=0
7th: after milling sandpaper or use a scothbrite sponge on the board to remove copper edges
Here are some pics of a few boards, I mainly do through hole since I find easier (cheaper) to buy modules from ali than to order the original circuits, none has failed until now
LE. before you ask, the boards are HA light switches, 6 way, rotary encoded, led ring lights, led halo around them (as in car switches), MQTT enabled, w5500 eth connected, 100% designed and home made, 3d printed frame and buttons, laser cut acrylic and faceplates, cnc milled pcbs.