The toolpath generated by the CamBam plugin does the following (for external thread):
1) Move to a position at Z0 and offset in X by the leadin diameter
2) Semicircular lead in move
3) Spiral helix moves for the number of threads specified
4) Semi-circular lead out move
5) Move to clearance height
For the learning curve I ran the code cutting air, and then brass. Once the DOC was correct (nut would fit) I felt confident on using the same parameters on drill rod, except at a slower feed rate. The g-code programs depend on using the same thread mill. If I were to buy a new one I probably would need to recalibrate slightly to compensate for any variation in the diameter. I always make a spring pass, which can be at a 2x feed.
I save the CAM files in a single directory, and name them according to thread pitch, thread length, and material. If I need a different length, I'll open an existing file, change the number of threads, and save as a new file.