For using *BSD as a desktop, going with something like PC-BSD would be a good choice. PC-BSD is basically a friendly FreeBSD with its own sort of package system called PBI while still maintaining the ability to use the ports system.
FreeBSD by itself can be used as a desktop OS but can become troublesome compiling everything (you can use pkg_add for installing pre-build packages). However, by using PC-BSD you won't need to do this.
Also, FreeBSD/PC-BSD does have the proprietary NVidia drivers. I do not think DragonFly/Net/OpenBSD has it.
All in all, I have found PC-BSD to be quite nice.