More often than not, the list of user created worksets is very long and the components are not placed on the correct workset (Thanks to Revit 2012 which makes this process much easier). Worksets should never be used to represent data that needs to be extracted because defining an object's workset is a manual process. The beauty of Revit is that it eliminated the manual process of defining an object's type/layer. Also, the data inside of the Revit components was organized inside of database that was part of every object in Revit. Revit MEP systems are a perfect example of this, as you connect the objects of a specific type (e.g. Hydronic Supply, Return Air) it populates with that data. In essence you couldn't be wrong with Revit.
Worksets should instead be broad categories that more directly relate to job roles. Limit the number of worksets and your users will get it wrong less, allow them to "set it and forget it" (If I may steal a line from the infomercial giant Ronco Inc.). The worksets will be easier to manage, and you can confidently use all the great performance enhancing benefits of user created worksets.