It depends a lot on details that you have not specified, particularly how the IO subsystem is arranged for this database instance. Single drive? Multiple? If multiple how is the data/uses spread over those drives? Drive types (spinning, SATA SSD, NVMe SSD, ..._)? Network rather than local and if net, what networking standards?
With 50Gb taking "several hours", either the database is under high load without the dump running or you have traditional (spinning surface & moving heads) style drive(s), or both.
If running the dump on an active machine it is going to compete with all other activity for IO bandwidth. You can minimise this by writing the data to another drive, assuming you are currently reading a database from one drive (or RAID array) and writing it to the same drive/array - by writing to another drive only the read activity of the dump is competing with everything else. This will be especially helpful if the storage is based traditional drives rather than solid state units because you are reducing extra head movements too, in fact as well as reducing the impact on other processes the dump itself will be faster for that reason. If there are not other drives in the machine (i.e. they are all part of the same RAID array, or are network mounts, etc...) then dumping to a drive connected via USB might be a solution at least temporarily.
Though this is at best an educated guess based on minimal details. If you improve your question by describing your I/O subsystem, you are likely to get more specific and helpful answers.