If given a choice, I prefer to work on one thing to the exclusion of all other things.
It takes me a day or two to really get into a project. Once I'm there, I find that I naturally cycle my focus between projects every three to four weeks. My biggest challenge to getting things done is the day when I finish off a project cycle and try to figure out what to work on next. If I don't have a clear idea, I flit between a half dozen or so potential projects until I dig my teeth into one.
I also to have 'little projects' on the side burner to work on for a couple hours if I'm feeling the need for a break without full-on switching into another project. These little projects tend to be things like 'learn how to do this in framework X' or 'write up a blog entry for sample code Y'.
It's worth noting that I work predominantly on desktop software, so I'm used to a longer release cycle than a lot of people here.