Given your use case, there is no other straightforward way to do it except using mongodump like you are using.
Since mongodump has to dump 800 gigs of data it is also expected that it will take a while to finish.
mongodump dumps one collection at a time by opening a cursor on mongos. Depending on if
the collection is sharded or not this may involve mongos talking to one or more shards and so you
might see one or more shards active at any point of time.