Rendering is influenced by many factors, including resolution of the image and complexity of the puppet. (But frankly, it feels slow to me too.)
I cannot fix the speed, so I try to work around it. First, you can adjust the length of a scene by setting the Duration property of the scene. Nothing beyond the end will render. Or you can set the "workspace" (?) duration. Don't remember the exact name, but you can add start and end markers in a scene and it will only render that part. I mainly use this to skip the first few seconds of a scene to let hair physics (dangles) settle down at the start.
My biggest solution for longer videos is to create multiple scenes, render and export them one at a time, then use Premier Pro or Adobe Rush etc to join the clips together. Then I can rerender just one scene rather than the whole video each time. You can duplicate a scene to have the positions retained. I would do this at a cut scene for example, or when the camera does a cut (e.g. a closeup). I call each scene numbers to keep them in order. It is a little more organizational work, but means I only have to render short sequences each time. If I need to go back and fix something, I don't have to rerender the whole video (just one segment of it). I tried to be clever at one stage and flip the camera around, recording a full sequence in one position then render the full sequence at another camera position, then use Prem pro to edit different segments from a clip - but in the end it got confusing, so I create a new scene per clip and just concatenate them in Prem Pro. It was easy to remember when I came back to the project later.