That's a good question. I had a hard time getting letters from my previous employers, so that part took the better part of a year. If you ignore that, I'd say 3 years? I was EB3 'other'. EB2 or EB1 category applicants from 'other' probably end up taking about a year. If you're unlucky enough to be in the India or China region, you're going to be waiting much, much longer than that though. EB3 India is probably more along the lines of 7-12 years.
Edit:
I think it's sort of important to note that I came to the US in 2010, which was a weird year for H1-Bs. The economy was bad, and I was able to file for an H1-B in August after I graduated. This lack of H1-Bs in 2010 probably resulted in fewer GC applications down the line as well, so your mileage may vary.
EB2 'other' anecdote: I came to the US in 2009 on a H1B (job offer in October, granted in December) and filed for my green card almost immediately. I had my card within 18 months, most of which was PERM.
I realise I was very fortunate in three things: timing, nationality (British) and education (two Master's degrees, so EB2). During this time I was paid market rates, though I did go through a period of minor panic when I realised I basically couldn't leave Google while my green card application was pending and I had no idea how long it would actually take. But articles like this make me extremely sad that others can't be so fortunate, and I wonder what it is we (non-voting residents) can actually do about it...
Edit:
I think it's sort of important to note that I came to the US in 2010, which was a weird year for H1-Bs. The economy was bad, and I was able to file for an H1-B in August after I graduated. This lack of H1-Bs in 2010 probably resulted in fewer GC applications down the line as well, so your mileage may vary.