faster command than find for sorting?

I'm sorting files from a source directory by size into 4 categories then copying them into 4 corresponding folders, just wondering if there's a faster/better/more_elegant way to do this:

find /home/user/sourcefiles -type f -size -400000k -exec /bin/cp -uv {} /home/user/medfiles/ \;
find /home/user/medfiles -type f -size -200000k -exec /bin/mv {} /home/user/smallfiles/ \;
find /home/user/sourcefiles -type f -size +400000k -exec /bin/cp -uv {} /home/user/reallybigfiles/ \;
find /home/user/reallybigfiles -type f -size -1000000k -exec /bin/mv {} /home/user/bigfiles/ \;

I have 570G of source files and need to sync updates about every hour, I update the sourcefiles using rsync and then run this to sort them.