Trabalhei em uma empresa que criou 3 sistemas, uma para cada área. Vendeu os 3, e os próprios clientes mantinham o banco de dados e o servidor web. A empresa tinha implantadores para ir até lá e ensinar as coisas e tal.
Mas conforme os clientes vão usando o sistema, eles começam a chegar a conclusão que precisam de um relatório diferente do que tem, de um relatória a mais para a situação X e outro para a Y. Dai a empresa atende as requisições do cliente e aos poucos o sistema que era uniforme para todos clientes, passa a ter mudanças especificas. No final, o mesmo sistema para vários clientes já não é mais exatamente o mesmo.
E sempre tentavamos colocar essas atualizações como parte das novas versões, mas começa um novo ciclo quando um novo cliente aparecia.
Então, acredito que manter base de dados separadas é mais viável, como também se possível, deixar isso por conta do cliente. Mas você também poderia oferecer a ele, como Hebert citou, a Jelastic ou outra, que forneçam o banco e o servidor para a aplicação, e você mesmo poderia gerenciar para o seu cliente. Mas misturar as coisas entre vários clientes não acho uma boa.