Why are you trying to get network throughput on a VM? Of course it's going to be slow, but KVM probably has some passthrough optimisations for Linux guests.
Because that's what software defined networking is (mostly) about. In the majority of cases it's used as a way to setup a network plane for virtualized hosts.
I'm not a BSD guy, but I can still see it's a little unfair to compare the network throughputs of Linux and *BSD as guest VMs on a Linux host running KVM. You aren't going to get good throughout in that case without hardware passthrough (even then it's still bad). End of story.
I get your idea, but Kvm on linux is prolly the most deployed hypervisor in the world or will be soon. If it doesn't run well on it then it won't be used. End of story.