I'm using a Samsung SM951 128GB NVMe in my desktop machine since I bought it last December and a Samsung 850 Evo 500GB in my Laptop (which only has a SATA interface on M.2) since ~3 Months.
Both systems running PC-BSD/TrueOS; on the Laptop directly off the NVMe-Drive, on the Desktop with the migration from PC-BSD to TrueOS I switched to using it as L2ARC and ZIL for the ZFS pool. I chose this method so I can get rid of the noisy seagate drives and use 2 really quiet WD Green HDDs for the local pool. Stuff that should load fast on first try (VM images, games etc) reside on FC-targets on my storage system, so using the NVMe as cache was the better choice for me on that machine. As the machine is mostly just suspended the cache is practically full all the time and hit rates on 'daily business' are pretty good, so most stuff is served from the SM951. As soon as the persistent L2ARC feature hits CURRENT and is merged to TrueOS this should improve even more as the cache can then optimize over really long timeframes without being wiped on reboots.
I also still have a (mostly unused) FreeBSD 10.3 installation on the Desktop, but as it is a skylake system, i've gone with TrueOS to get "everything" working OOTB. I didn't had any issues installing to or booting from these drives, regardless if it was FreeBSD, PC-BSD or TrueOS.
The speed improvement on the SM951 is immense, even compared to a fast SATA-SSD. Bootup times are drastically shortened, as well as program startup times if everything resides on the NVMe. If you have to do heavy file lifting on a daily basis there's nothing that gives you more 'bang for the buck' than an NVMe - regardless what size.
The Drives appear just as any other blockdevice at the setup - no black magic or waving of dead chickens necessary. The only caveat I encountered on the Laptop: the BIOS/Legacy mode has to be fully disabled, switching to UEFI-only mode to get the system boot from the M.2 drive and actually loading the EFI loader. In BIOS-Mode the system sometimes fails to recognize the drive as a boot device and if it does, it won't really boot from it. I suspect as the screen switches from native resulution to blurry-mode just after POST, the system switches back to BIOS-mode but tries to run the selected EFI-loader.
In UEFI-mode it takes ~10-15sec to load and hand over to the bootloader. Same thing I already encountered on my desktop machine, which takes up to 30sec to show the POST-Screen... Seems to be the price for stuffing those heavily bloated UEFI/BIOS-hybrids on slow EEPROMs. So the OS boots in way under 10 seconds (~4-5sec on my desktop to login screen), but the BIOS/UEFI puts you back to overall boot times like 10 years ago...
So long story short: FreeBSD shouldn't give you any headaches with NVMe, but prepare for broken/crappy/weirdly behaving BIOS/EFI implementations that need some special treatment and might be really slow to load in UEFI-mode.