I use a combination of Eagle to do the design work and the pcb-gcode ulp to generate the necessary gcode files. For the small one off type of thing that I do as a hobbyist, this works fine.
The ulp can be found either on the Eagle site or there is a yahoo group dedicated to it.