We're using it, and it definitely has a lot of "goodies" to recommend it. You do have to get used to it a little and think "in Perforce", though.
In general, you have the depot with its own directory structure, and each user has mappings that define where those files/directories will be placed locally. This makes it relatively easy to replace whole parts of the hierarchy with the same parts from a different version, for example, so managing different versions and branches of your product is easier.
It also has support for managing change sets, and checking them in atomically. This can really help when you're trying to figure out what else a certain checkin affected in the rest of the code and not just the file you're currently looking at.
We were using Vault before Perforce, and all-in-all the transition was very smooth without too much lost productivity. :)