Controle WebBrowser como interface do usuário

Primeiro algumas definições para manter as coisas claras.

Usuário: Uma pessoa viva, usando o software

Cliente: Uma empresa que está pagando por uma versão personalizada de nosso software para seus usuários.

Atualmente, temos alguns aplicativos que exigirão mudanças significativas na interface do usuário com base em qual cliente o usuário pertence. Atualmente, temos uma versão separada para cada cliente, mas à medida que o número de clientes aumenta, fica cada vez mais difícil gerenciar todos esses lançamentos separados.

Meu objetivo é mudar para um único cliente genérico que pode ser personalizado dinamicamente com base em quem está logando. Como o nosso software requer uma conexão à Internet de qualquer maneira (usa webservices extensivamente) eu estava contemplando apenas usando um controle WebBrowser no .net e permitindo que ele interagir (via ObjectForScripting) com o hardware necessário no computador.

Em seguida, toda a interface do usuário é gravada em HTML / JavaScript e armazenada no servidor, tornando trivial a distribuição e a manutenção de novas interfaces de usuário. O cliente genérico é um pouco mais do que um navegador da Web personalizado que sabe como falar com nossos dispositivos de hardware e pode ser solicitado a fazê-lo através do javascript.

Estou vendo muitas vantagens para essa abordagem e não muitas desvantagens. o que estou perdendo? Por que eu não deveria ir nessa direção?