I haven't done much with blob files. However in the past with large datasets I've written the data out to text files, compressed and transmitted those files and picked them up at a second location. This was especially useful when running a distributed ETL process between two remote locations.
I would assume the slowness just has to do with the fact that you are dealing with a lot of data transfer. But you can break down the process to find out where the bottleneck is to see if there is a way to optimize. For example.. just export it out (and don't write it) and see how that compares against the entire process. If the destination isn't local you could test writing it out local versus remotely. Break this down a few times and you should be able to identify where in the process it's slow and possibly come up with some ideas for how to speed it up.
Nathan