The best way Ive found to do this, particularly if you want to be the one doing the touching in VR, is to use (I believe its) WeebU's morphs. More specifically "Gens - Tip Skin Gap" morph by WeebU. How much you scale the morph is up to you. But what i've found as the ideal method requires a bit of setup at first, but then you can save parts of it as a preset, making setting it up in the future much faster.
Basically it requires a total of 4 Collision Triggers and an Animation Pattern. 2 'larger' ones at the Head and base of the appendage, and then two smaller ones also at the tip and base. To explain it in a non-full-blown tutorial, you assign your morphs to adjust the shaft how you want it move during a stroke within a Animation Pattern. Then you make the large Collision triggers on contact with the CameraRig to play the animation pattern at a set positive speed. And then on the opposite side of the shaft you make the other larger Collision trigger also Play, but set it as a Negative Speed value so it plays in reverse. Now for the slighty trickier part, you make the smaller collision triggers do almost the same as the larger ones, but you make them Play faster speeds, however on start of the smaller ones you need to tell them disable the larger collision triggers at the respective ends of the shaft, but then on the End function of the collision trigger, you need to re-enable them. This prevents the larger collision trigger from trying to play at the lower speeds, while your attempting to make the smaller trigger play at a faster speed.
(of course, make sure you've parented them to the Tip and Base, and have removed the ability to move them other wise by un-ticking Allow Posses/Grab.)
If you've sized and placed the collision triggers well, this essentially gives the smoothest look I've seen for VR interactivity. As when you move faster it will also move the skin faster, and if you move slower it does the same. The hopes is you set the speeds correctly so that your slow movements will fully play the Animation Pattern before you reach the tip. These speeds depend on Shaft Size.
If you've been able to keep up with this so far, then you will also likely have noticed areas where you can smooth out the results as a whole. Going into detail would require me writing an entire guide xD. But Once you have made this, you can just save it as a scene, Load your new model into it when it comes time, move the collision triggers around(possible adjust speeds if the shaft length has changed too much), save the scene, and then Load Merge into whatever you want. That or you can save all the things you've made as presets, and load and move them into place. The only down side to the preset loading method is you need to make sure you name your character to the same name that was used on the model while creating it, before loading the presets, to ensure they actually affect them.
PS: you can of course just do 2 collision triggers all together, and just find an inbetween point for the Play Speeds. This drastically reduces the time it take to set this up, but also reduces quality a bit. I guess it depends on how well of a scene you care to make.
For non-Vr interactivity, Yea just use timeline and morph it during the strokes. Easy-peasy.