The roundness of the hole is more dependant on the mechanical condition/resolution of the machine than the G code used to create the hole. You can create a nice round hole with all G1 moves. If you need a perfect hole, then boring/reaming are the prefered methods. On my machine I can count on the hole being about 0.0005'' large when measured across the 4:00 o'clock - 10:00 o'clock vector, doesn't really matter what size the hole is. As near as I can tell this is a function of some backlash in the Y axis.