With GNU find (i.e. under non-embedded Linux or Cygwin), you can use -regex to combine all these -path wildcards into a single regex.
find . -regextype posix-extended \
-type d -regex '\./(\..*|Music|Documents)' -prune -o \
-type f -regex '.*(\.(bck|bak|backup)|~)' -print0 |
xargs -0 --no-run-if-empty trash-put
With FreeBSDOn BSDs or OSXmacOS, use -E instead of -regextype posix-extended.
You may also want to replace that -print0 | xargs -0 --no-run-if-empty trash-put (where --no-run-if-empty is GNU-specific1¹) with its standard shorter equivalent: -exec trash-put {} +.
¹ its shorter -r form is however supported by some other implementations, even the default on some BSDs