I was getting tired of the mtp throwing errors half the time, the directories loading two minutes (not exagerating), the copying taking taking hour, so i said screw it and made my own file transferer that uses ADB, which doesnt rely on the slow as MTP. I made it primarily for myself, but since i already made it why not share it :D
From my testing (over USB 2.0) of copying 8.4GB pictures folder, with my app it took 4m08s, approx 286Mbits/s. With MTP, it was showing it will take hour and 3/4, aprox 10Mbits/s
https://github.com/T0biasCZe/AdbFileManager/releasesedit: To go up a directory, double click the list header!
changelog v1.1:
Added ability to go above /sdcard/,
added text to double click header to go up
added pc2android copying
Video:
I often use just plain old CLI adb push/pull. For Emacs users the built-in tramp-adb support is neat, you can use dired and other Emacs operations as if it was a local filesystem. I also run sshd in termux so scp and rsync are very handy too. Even sshfs mounts work but I use that less frequently.