How to create manifold threads on cylinder with non-destructive editing?
Yes.

Start with a screw from a non-manifold mesh.  In this case, I'm using a plane, with an empty to define the screw.
This gives a mesh that is manifold other than boundaries, appropriate for a solidify modifier.  In the example pic, the faces do not intersect.  You can eliminate the intersection for other meshes by reducing the thickness of the solidify.  (In the presence of other modifiers, it may be necessary to use modifier-generated vertex groups to modulate the thickness of the solidify.)
Of course, that leaves us with a hole in the middle of the screw, which might not be appropriate for the boolean difference we wish to create.  We can fill that hole by boolean unioning our manifold screw with a manifold cylinder.
This particular cylinder is placed and scaled by eye, in order to demonstrate the technique.  In a real life situation, you'd scale it differently.  If it's totally necessary, you can even scale it non-destructively in a number of ways.  I would probably armature deform it, with a stretch-to bone parented to and stretching-to a pair of non-deforming &quot;marker&quot; bones that shrinkwrap-projected onto a linked duplicate of the screw mesh.
I've applied all modifiers at the end and selected non-manifold to demonstrate that the resulting mesh is perfectly manifold, with its normals facing the right direction.
Here's a pic where I use the final object to cut into a cube:

The applied boolean difference is applied on the right.  On the left, the modifier is live, with the screw, and the cylinder used to &quot;fill the hole&quot;, displayed as wireframe.
If you're having trouble using the final object as a boolean, you might be trying to solidify too much, creating overlapping geometry.