Once a week as a part of my regular system maintenance but, what is more important than that is the sensitivity of the scan and if archives should be scanned.
Archive (zip, etc.) files are by their nature are inert, you need to extract the files and then you have to run them to be a threat. Long before that happens avast’s Standard Shield should have scanned them and before an executable is run that is scanned. Thorough is also by its design very thorough and perhaps a little overkill for routine use, were a Standard scan without archives should be adequate.
I have only ever done a through scan with archives once shortly after installation just to ensure a clean start state, but with XP for example avast will do a boot-time scan after installation if you select it, this I believe will be quicker and reasonably effective. Like everything in life things are a compromise.
Sounds like there’s almost a consensus about a once-a-week routine. Add my vote too, I do a full standard scan (no archives) once a week. along with the rest of my “housekeeping” (ewido etc.), and let the Standard Shield handle things the rest of the time.
Oh, and maybe I missed it, but I don’t think anyone answered your “how long” question, probably because there’s already been a number of threads on that subject. Obviously it depends on your system and what’s on it, but in my case about 3.5 gigs of scan usually runs about 11-12 minutes.