Always have a list of things to work on, sorted in priority order. When you get blocked on one, move to the next. Always know what the next step is for your top N items so when you switch there's less time getting ramped up.
"Bad" multitasking is when you're listening to a podcast while coding, or web-browsing while in a meeting. The brain sucks at that, and one of those things will suffer attention loss.
To help with context switching, try to collect small tasks together so that you're either working on big things (30-120min) or a bunch of little things (5-15min each, but 30-120min together).
For the small tasks, pick a time that that you're less productive (end of day? first thing in the morning) and/or do them immediately when assigned if you're between tasks. This is part of the Getting Things Done (GTD) strategy, where small tasks should never make it onto your todo list - just do them.