I am lucky and have access to a CNC Mill at work. I mounted the pipe in a vise and drilled a row of holes automatically. Then adjust the pipe for next pass and let it rip. 4-5 rows of holes, 1/8" apart, next row over between the previous holes, and next to it.
Then I filed the tear-out, reamed the holes inside for tearout, dremeled the tear-out in each hole, and finally sanded the outside to a clean finish. A bit of work, but not bad when it's all done and said.
If I didn't have a CNC Mill available, it would be a toss up on whether or not I'd use a drill press and drill each one manually.