Shelved CLs are very useful for pre-commit code reviews. Using task streams are very useful for small tasks and sparse branching. However, shelving a CL in a task stream for review is difficult because the reviewing engineer is not able to see the task stream without first creating a workspace to map the stream, which can be annoying to set up (find the stream and create a new one to map it or remap a "roaming" stream) when a code review of a similar change in a dev stream would only task seconds to start.
Add to this the fact that P4V does not even provide adequate diagnostics when an engineers tries to open a shelve that is in a task stream (they might not even realize the CL is IN a task stream), and it actually makes the problem worse because code review attempts turn into support tickets when the engineer cannot figure out how to find the CL.
If P4 supported some means to viewing task stream shelves more seamlessly it would make task streams much more useful. At the very least, P4V needs to surface a better error in these situations.