I have never used any type of "cleaner" to maintain my systems. Instead, I am very methodical about cleaning up any messes as they occur.
Example: Whenever I remove a program from my computer, I manually check the registry for any errant entries left behind for that software. This takes some detective work, at times, as it is not always clear.
I only add programs I actually intend on using. I also avoid applications which are known to mess with operating system files (anti-xxxx, anything from Intuit...). Understanding the mess applications can make and leave behind is 3/4 of the battle. Microsoft has done little to protect the operating system from changes being made by applications.
My work system, which gets used a lot for a lot of different applications has been up and running for almost 4 years. Still running nice and clean.
Honestly, it is not easy to keep up with and requires you to do a lot of homework before installing any application, or removing an application, but the reward is a system which will stay stable and quick for a very long time.