Lock face surfaces to each other?
You can "snap to face" :



Then move each vertice to the face :



And have this result :



But it wont automatically rotate or anything.
For "rotation" or other smoothing effects on the shape, this is to be done manually (I am quite sure there is no other way to do it, except if the rotation aspect is clarified in the question).