Transfer weight paints / copy vertex groups results in destroyed mesh
Warning I answer here about the weights transfer problem but this answer does not handle the "one armature" mentioned at the begining of the question.

From my experience, this approach can work only if the 2 meshes (the prerigged source and the destination to be rigged) are very close to each other.

This can be done more or less easily using mainly mesh deform and shrinkwrap modifiers and eventually doing a quick parenting (with automatic weights) on the source mesh (a copy of it).

Mesh deform or the parenting are here to bring the source mesh closer to the destination. And the shrinkwrap is here to give more accuracy to the correspondance of the two meshes.
In this process, you'll need to take into account each bones junctions by placing the (temporary) deformed mesh in accordance to these junctions.

If all these conditions are not met, the data transfer wont work correctly (this is at least my experience).
Also, the point is to evaluate the shorter process : rigging again your other meshes or using this kind of method.

If you choose the data transfer, you'll probably need to use "projected face interpolated" option and eventually the ray radius value (not to low and not to big). Becareful : these options may needs much more calculation time.

Edit 1/note : I encountered some problems with the "data transfer modifier" as the "Data transfer / data" in the tool panel works well (shortcut CtrlShiftT) (same function and options but not a modifier).

Edit 2 : another approach, dependy on the accuracy you need for the rigging :


Copy the armature
Adapt it (edit mode) to your destination mesh
Parent the destination to this armature copy with automatic weights
Reparent to the original armature (with empty groups)