You command will do pretty well at that, though you don't want --stats and --progress (and --stats takes a time unit, eg --stats 10s.
Rclone doesn't do delta transfers like rsync (cloud storage doesn't support it in general) nor preserve permissions (same reason). You can quit and restart rclone and it will pick up where it left off. Rclone is very good at parallel transfers.
Rclone stores files 1:1 your disk -> cloud storage.
If you want a backup program which does do delta transfers and preserve permissions then you could use restic which can use rclone as a backend to store the actual objects.
Rclone checks checksums after each upload. You can also use rclone check to do a complete check of all the checksums.
Use --bwlimit. The parameter it takes is in bytes/s so 40Mbit/s = 8 MByte/s. Knock that down a bit to avoid saturation, say --bwlimit 7M (you'll probably need to experiment).
I thought that rclone only transfers changes. Can rclone only be resumed in the same session or can it be reinstated in a separate session? For example, if I stop rclone, shutdown the device and restart it?
How does parallelization affect --bwlimit? For example, if --transfers=10 and --bwlimit=7M, will it attempt to sequentially transmit these within the limits of 7M as a total?