Hello and welcome!
I use dd with FreeBSD (7 and 8) quite often to erase disks with customer data. Depending on the disk this will usually go at about 100 / 120 MB/s. Which is not slow at all.
By default, dd uses a blocksize of 512 bytes (i.e. one sector). Try setting a larger blocksize such as 512 kilobytes:
# dd if=/dev/zero of=/dev/ad0 bs=512k
For copying this should also result in better speeds:
# dd if=/dev/ad4s1 of=/dev/ad5s1 bs=512k
Using a blocksize of 512 bytes is like moving a truck full of little packages from Amsterdam to Berlin one package at a time, instead of moving them in one big haul