Como você está vindo de um background Unix, você deve estar acostumado a rodar em um contexto não privilegiado. Muitos desenvolvedores do Windows não têm esse tipo de experiência e, como resultado, temos muitos serviços no ecossistema do Windows que exigem privilégios excessivos. Estou muito feliz em ouvir você questionando a necessidade de executar como "LocalSystem".
Como um administrador de sistema do Windows com segurança, prefiro que todos os meus serviços sejam executados em contas de usuário não privilegiadas, sejam locais no servidor em que o serviço está sendo executado ou, se o serviço precisar acessar recursos em outras máquinas via Microsoft rede, uma conta de domínio.
Pessoalmente, não gosto de nenhum dos "Serviço local" , "Serviço de rede" , etc, contextos, porque eles não são contas de usuário que eu possa controlar especificamente os parâmetros de. É que "Serviço Local" sempre acessa máquinas remotas com sessões nulas (credenciais anônimas) e que o comportamento não pode ser duplicado com uma conta de usuário normal. Ainda assim, eu prefiro um usuário não privilegiado explicitamente especificado para "Serviço Local", mas "Serviço Local" também é uma opção perfeitamente razoável. Se você escrever seu código para funcionar como "Serviço Local", ele deve funcionar bem como um usuário não privilegiado, a menos que você escreva em algumas dependências explícitas em "Serviço Local".