Cool tip. I don't have to do much of that anymore, but last time I did a lot of sheetrock in my barn I used two methods:
1) Rubbed the edge of a pencil along the outer edge of the box, held up my piece of sheetrock and gave a gentle bang, and the pencil mark was transferred to the back of my piece. This worked ok.
2) placed a finish nail in each of the two screw locations that are used to secure the receptacle/switch. Held sheetrock up and gave it a tap. This put two small holes in the back of my sheetrock that I could use as references. This worked better for me.
Probably hack ways to do it, but it worked well enough for me at the time.
A friend's brother, a former sheetrock pro, helped us one day... He kept a roto zip hanging from his belt loop. He would transfer quick/rough measurements to the center of the fixture, partially hang the sheetrock, plunge the roto zip into his center mark and gently guide the cutter towards the inside edge of the fixture... once he found it, he would expertly jump the bit up and to the outside edge of the fixture, and then use the fixture itself as a guide that he would trace the roto zip around for a perfect fit. Then he'd finish screwing in the sheetrock. It was awesome to watch, but I had trouble repeating the method as I kept cutting through the boxes when I tried.