The examples are somewhat forced:
find ~/Desktop -name "*.jpg" -o -name "*.gif" -o -name "*.png" \
-print0 | xargs -0 mv --target-directory ~/Pictures
What's wrong with this?... mv ~/Desktop/**/*.{jpg,gif,png} ~/Pictures