I've written a bit about this, first a tutorial I wrote recently about physically based rendering systems and how the art content works (there is a small section on layering materials to create textures): http://www.marmoset.co/toolbag/learn/pbr-practice I also wrote an older tutorial on texture theory and similar…
So I wrote a bit about my photoshop workflow in the PBR tutorial linked above. I wrote this up mainly to show that you don't really need any special tools or anything, it can all be done in photoshop. However, what I actually use is the Quixel Suite/dDo with a bit of manual work in photoshop. As far as what is best, really…