Depends on how you define "at any given time". If it's measured in the
intervals of day (two different projects touched the same day), then I rarely
do more than two of them (one being the main focus and the other being an
emergency, if any). If it is months, then I haven't switched for a long time,
but four or five is not an unusual thing.
That being said, I only encountered this at companies with smaller IT headcount. In corporations it's a little different, as project structures are much more rigid and transferring people takes time, so programmers usually don't jump between assignments that much.