Collision in VaM is way to imprecise, since the character shape is approximated by using sphere and capsule shapes. There is simple no smooth continuous surface. The physical shape is not the actual body shape you see...it looks like this:
This will mismatch especially when using lots of morphs, so the body deviates even more. To some degree you can edit the shapes using AcidBubbles
Collider Editor, but that only helps if you need good collision in a particular spot.
The trick is actually to NOT rely on collision too much. A better approach I use in my scenes is relative animation. Part of the animation for one character A is setup relative to the character B they are supposed to touch. Since character B will probably also have animation, meaning the touched body part will likely always also move at least slightly. Especially with all the randomized animations I'm doing in my scenes, where there are hundreds of possible combinations, it would be very hard to animate in a traditional way. However, if the animation of A is actually relative to the movement of B, it will still align. Of course that has limits and only works to correct minor misalignments. But usually it is good enough to cover like 10 or 20cm movement of the other character.
Example from the
IdlePoser tutorial using it's "anchoring feature". That is exactly this. One of the States for the hand animation of the right girl character is anchored to the rThigh of the left girl. So, even though left girl is moving randomly, including through some physics feedback from a handjob animation, the hand will still touch properly.
The screenshot is from my
DoubleTrouble scene.
Note that Timeline has a similar feature, called parenting there, I think. Have not used it myself, so can give advice there. However, as I understand in Timeline you can only either parent the entire animation or not. In IdlePoser you can control anchoring for each individual state/control point or even blend between two anchors. That allows to go smoothly in and out of anchoring, like from a character hand touching themselves smoothly to touching another character.
My workflow when animating a hand with IdlePoser so it will touch another character is usually to bring the hand nearby with a State. Then animate the finger morphs to create minimal skin contact (but no pressure!). Sometimes you have to go back and forth a bit between positioning the hands and finger morphs. For nearby control points you overextend the fingers a bit back, so you get a gripping animation.
In this case, it's self-touching, but same principle. Two IdlePoser states (blue), two control points (grey):