My compromise in a three-lane situation is to always favor the center lane in congested traffic, especially prior to an upcoming exit. If traffic starts to move, I can move left since after the exit, the missing cars will be starting to merge back in (and to the left, negating the advantage of the center). If traffic doesn't move, I tend to just maintain center lane.
Impatient, frequent lane changers always add risk to themselves and others because they're bouncing back and forth between left (the fast lane and the way things "should" be to them) and the right (which routinely frees up as people exit). They tend make it to where they're going faster, but I don't necessarily think it is worth the risk.
Edit: I also hate it when bicyclists blow through city traffic at 10-20 kmph relative speed. For some reason, I'm more afraid of accidentally hurting them.