I can't recall the exact detail from memory, but I believe #1 has to do with the fact that zfs creates/clones/snapshots/etc are done in "syncing" context. Thus, each command has to wait for a full pool sync to complete, limiting the rate at which these can be done.
This is a known problem, and likely to be fixed in the not too distant future.
This is a known problem, and likely to be fixed in the not too distant future.