Minha contrib:
Cara continuando um pouco a discussão, isso vai além dos princípios S.O.L.I.D, não sei se você chegou a entrar neste ponto, mas estes principios estão intimamente ligados ao processo de arquitetar um sistema, dentro deste processo estudamos algo que é chamado lei de Conway, essa lei nos diz que o design de um sistema é influenciado pela estrutura organizacional do grupo que o produz.
O caso que você passou reflete exatamente isso, peguemos pelo seu exemplo, a entidade Email para o ator RH tem um significado, para o ator Marketing significa outra coisa, e por que utilizar de um mesmo endpoint para enviar emails fere diretamente o principio S do S.O.L.I.D ? pq cada ator enxerga a entidade email de maneira diferente, isso implica que as regras de negócio para cada ator é diferente, enquanto a equipe de marketing utilizam de recursos que o email nos fornece, e ve cada email como um novo lead de capitação de clientes, o setor de RH os enxerga como possíveis candidatos, cada processo é diferente um do outro, em termos de objetivos, restrições e resultados.
Sobre a parte de duplicação de código nós entramos em Design, onde podemos utilizar dos principios estabelecidos e amplamente aceitos como Gang of Gour por exemplo para remediar essa questão.
Caso se interesse em aprofundar seus conceitos sobre arquitetura de sistemas recomendo 2 leituras fascinantes:
"Fudamentos de Arquitetura de Software: Uma Abordagem de Engenharia", Neal ford e Mark Richards
"Padrões de Aruitetura de Aplicações Corporativas", Martin Fowler
Ambos os livros nos dão um visão abrangente sobre como um software enterprise é desenvolvido, e sobre como um arquiteto de software deve pensar afim de alcançar seus objetivos.
Bons estudos!!