it's slow unless you through massive hardware at it,
Ran my home file server / desktop PC on a 32-bit Intel P4 with only 2 GB of RAM. Booted off a pair of 2 GB USB sticks (/ and
Later, migrated to 4x 500 GB SATA2 hardrives in two mirror vdevs, running same XBMC setup. No issues there, and was even able to remove the L2ARC device as the pool was now faster than the cache.
This past summer, I migrated the system to an AMD Phenom-II X4 system with 8 GB of RAM, and a zfs-on-root setup using 1 TB SATA3 drives (no USB sticks anywhere). Switched to a 64-bit install at this point (no changes to the pool). Switches to Plex everywhere instead of XBMC, and added a bunch of extra services like CUPS. Also does real-time transcoding for the little one's tablet (she uses Plex on the tablet).
No issues to report. No performance issues, even when multiple torrents are downloading while we're watching shows on the tablet and the TV. The pool migrated along between each upgrade (with the exception of the first raidz->mirror conversion that used zfs send/recv). And it's all backed up to an external 3 TB drive via zfs send/recv.
ZFS is only as complicated or as "slow" as you make it.