Usando subshells com find
O * será expandido pelo seu shell antes de find vê-lo, então está errado - pode até causar perda de dados. Você não pode citar, porque então não será expandido de todo.
O que você precisa é de um subshell que receba a pasta como um argumento e faça a expansão mais tarde:
find . -type d -name '2016*' -exec sh -c 'mv -- "$0"/* /path/to/target/' {} \;
O -- impede que arquivos com um - inicial sejam interpretados como mv e você deve citar o nome da pasta em "$0" .
Usando puro Bash
Uso alternativo de globalização recursiva com Bash ≥ 4.0:
shopt -s globstar
mv **/2016*/* /path/to/target/
Eu acho que isso é muito mais limpo, apesar de quebrar com um número muito grande de arquivos.