For quite a while now I have had really good results when using Neat Video’s noise reduction plugin to clean up the noise generated from Cycles. The benefit over using techniques native to blender is that Neat Video looks at the frames ahead of the current frame and behind it, to establish what is noise and what isn’t. This allows me to render my scenes at a much lower sample rate while achieving comparable quality to sample rates that are much higher.
I know blender artists tend to avoid tools that aren’t open-source or free. . . but if you can stomach it. . . the results are well worth the cost.
I use it as a plugin to Natron on Linux.