Verifiquei no curso, que para armazenagem de parâmetros para posterior inserção em "queries" com valores dinâmicos (por exemplo, um <split> iterando algo com Expression Language ${nome.placeholder}), é encorajado o uso de setProperty ao invés de setHeader, já que este último é utilizado para armazenar dados vinculados à mensagem. Verifiquei com o meu time de trabalho, pois aqui não usamos setProperty, somente o setHeader. O motivo passado é que com o uso do setHeader, ao sair do escopo do <split> (ou qualquer outro tipo de tag com o mesmo comportamento de se criar Exchanges dentro do seu escopo), o Camel remove os valores criados no header para aquele escopo, já o setProperty não, já que este define valores globais para todo o contexto do Camel, deixando "sujeira" para casos em que os valores só deverão ser utilizados no escopo da tag mesmo (no caso do exemplo que estou dando, a tag <split>).
Procede o raciocínio?