This is a common denoising problem know as temporal coherence. It’s caused by the denoiser interpreting the noise differently in each frame, because the objects have moved.
In the current version of Blender, there is no easy answer for it. Even Blender’s own animation studio had to use some crazy advanced trickery to solve it on their latest short:
What you do will depend on how much time you have for the rendering and how strong your computer is. In Cycles, it’s completely normal and expected that a render could take a few minutes per frame. If Cycles is too long for you, you might need to stick to Eevee for animations. If you know Eevee well enough, you can get close to Cycles’s result in most scenes.
If you try to stick to Cycles, you could actually solve the problem by increasing samples, but it might require thousands of samples, especially in an interior scene as those tend to be more noisy. In your case, 32 samples is almost certainly going to be too low of a number. In an interior scene, I would probably use at least 256.
Also, it would be a good idea to setup your scene and render settings for lower noise. I haven’t looked at your file because of the size, but here are a few general things:
In the render settings:
-Deactivate reflective caustics
-Set “filter glossy” to 1
-Set indirect light clamping to 10
In the materials and lighting:
-If you have light coming in through glass, deactivate shadows on the glass objects.
-If you have emissive materials lighting the scene, replace all the ones you can with light objects, as they are less noisy.
-If you have exterior windows, use light portals.
I that’s still not enough, there are some more drastic options:
-Use “Fast GI approximation” set to 1
-Bake the diffuse lighting on the walls to make the render much faster (that might be a bit hard at your current level of knowledge)
-Remove all diffuse bounces and use manually placed lamps to prevent black shadows (at that point, you might as well use Eevee)