I have learned to like painting them in mud box. Mari would be a great alternative.
The most usual way for me is to just make tillable textures in PS, and then paint there though. I personally think it is easier to paint them by hand in Mudbox.
In this way you are not detailing a 3D object in 2D, but painting onto an object as it is, even as if you were holding the model in your hand and painting that way, but better.
This can become a kinda art in and of its self though, and end up taking a long time depending on how obsessive you let your self get. In that respect, I feel more like PS/assembly line work is often more time efficient.
Filter forge, crazybump, are a few stand alone people use a lot. I have crazy bump, but I use that only after I have made a tillable texture in PS, to create displacement maps from.
Really though it depends on the model and what I am going to do with it. The easiest thing I do is just fill the UV space with a single image (edited or not) regardless of how the UVs are played out. and then make a BW of the texture for bump or displacement. This works perfectly fine for 90% of the models if they are background objects.
For a hero object that I care about and want every nook and cranny perfect. Then I paint it in mud. Int his case it is also good because Mud paints over seams. So UVs can be just terrible in the classic sense (seams where ever the hell you want) But it will paint as though there are no seams at all.
MAri is supposed to be the best 3D painter. I don't know if Zbrush is good or not. I hear a lot that Z users sculpt in Z but paint in Mud. Mud is really good though for painting.