I stumbled upon this post by Nate Talbert http://blogs.msdn.com/advancedworkflow/archive/2006/02/23/538160.aspx explaining why a workflow instance is single-threaded. Some of the exact implementation details are a little bit out-of-date now that WF 4.0 is close to release, but the points made are still very valid.
In order to simplify the Activity authoring experience, WF guarantees that all Activities belonging to the same workflow instance will execute in the same thread. However, a workflow can still easily exhibit multi-threaded behavior:
A single workflow instance is single-threaded for simplicity and performance reasons, while at the same time, it fully exhibits multi-threaded behavior in an efficient and .NET-compliant way.