The problem with using cleaning tools like the ones you mention is that I'm always left wondering, "What did I miss?" when they've finished. Since it's a long process that's always potentially incomplete, I abandoned that approach years ago. The first thing I ask a client is "What data do you want to keep?" Then I scan the drive offline (mostly for my own curiosity, but also to get an idea of what I'm dealing with), save the data, reinstall the OS from scratch, then restore the data (sometimes with additional scans). This is the only way I feel comfortable handing the computer back to the client.