"Clean" is a relative term. I've got a Viper G2 and think it's a great gun for the money. I find them to be very similar to the Beretta 390 which I like a lot.
My cleaning regimen on a semi auto is to clean the trigger assembly and bolt assembly by dunking them in solvent about every 750 to 1,000 rounds. Clean the gas piston about every 500 rounds or so. Wipe out the inside of the receiver with a rag about every 200 rounds. Clean the chamber and bore perhaps every 300 to 500 rounds. None of these numbers are cast in stone. They're approximate, and many guns will run WAY longer than that between cleanings.
AND, very importantly, keep it well lubricated. This means keeping the bolt rails, the receiver rails, the trigger assembly, and the outside of the magazine tube well lubricated with Breakfree CLP or similar. In my experience, a semi auto will run quite well even if it's dirty, but they don't like running dry. I've fixed many a "broken" semi auto (belonging to other shooters) on the course by pulling out a little bottle of CLP and giving it several generous squirts of CLP on the critical friction areas.