Não seria mais fácil de uma só vez?
tar -xzvf <tar-file-name>.tgz --wildcards "*/<directory-name>/*"
Eu acho que o motivo pelo qual parece não funcionar com xargs é que seu grep irá encontrar o diretório primeiro (passá-lo e tar com extrair tudo) então o grep continuará com o conteúdo (passá-lo e tar irá falhar encontrar esses arquivos, uma vez que já os extraiu). Mas isso é apenas um palpite.