The worst scenario for cp -r is a folder with millions of tiny files (like a node_modules folder or a cache directory). cp has to ask the filesystem for permission for every single file .
alias megacp='rsync -avP --info=progress2 --human-readable --no-inc-recursive' mega cp files
If you handle large data regularly, forget cp . Here is your new toolkit. The worst scenario for cp -r is a