I suspect you might not know what -vfs is in relation to UBT/UBA.
So with vfs enabled all paths are virtualized to the tools executed from ubt/uba.. to z:\uevfs\xxx
Error messages etc are translated back to local paths.. so it should be entirely transparent to the user. Only time someone might see it is first time they start the debugger and a dialog pops up asking to find the source file (this does not happen for everyone, I have not looked into why)
The main reason we have implemented this is to be able to enable cached builds. At Epic we run a cache server (UbaCacheService.exe.. or rather the linux version) and have our farm write and read from the cache. The result is that some builds only take a few seconds.
Our plan is to try to get vfs enabled by default.