One thing that can make a difference too is the snapshot size. If you have a high change rate, then consider identifying why there is a high change rate. Do you have swap/tempdb files in the same volume as the rest of the data? Do you lump your data together into a singular bucket? Having smaller buckets can help, and reduce overall snapshot size.
You'll probably need to delete space on the source to free up space on the destination unfortunately. SnapMirror locks the volume down so it can't be used until it is released.