Yes and no, sort of.
User shares are indeed built and run in memory, but that memory can be claimed by any and all other processes. When something is accessed, the disks are spun up to rebuild that portion of the user share fs. Cache dirs keeps the underlying disks contents fresh in memory, so accesses are nearly instantaneous. So to answer the OP's question directly, you will see a benefit from running cache dirs on the DISKS that make up the user share that you wish to cache, as long as you have enough RAM so the directory tree can actually stay cached without being overrun by other processes. Whether or not you use disk shares has no bearing on cache dirs being useful to user shares. Where people are running into issues is trying to use cache dirs to keep too much of the directory tree in memory, as that causes cache dirs to keep the disks spun up because as soon as it's done walking the disk, something else comes along and needs that RAM, knocking the directory list out, causing the disk to stay spun up as cache dirs reads it into RAM again, causing a loop.
OK, that's basically the way I thought it worked. My users and my apps are only given access to user shares and I only access disk shares as root from telnet when needed. I had thought my user shares benefitted from cache-dirs and that's what it sounds like you are saying. I have plenty of RAM so haven't ever had an issue with spinning drives because of cache-dirs.