I get about 13MB/sec transfer rate to my external USB 2.0 drive, so 30min to transfer 20GB of data sounds about right. The restore time however, is much too long. I haven't tested it myself, but I'm thinking that perhaps your partitioning scheme was different or something caused the restore program to reformat and repartition the entire drive prior to restoring?
I'm not sure how the resore program works, but I know the Vista PE environment that you boot into when you perform the initial install is a file based install from a preconstructed image. Similiarly I would expect that the restore program is also file based instead of sector based so that the restore time should not be so long. I suppose it could also be a driver issue with the interface, have you tried using the USB2.0 interface instead?