I've been using ISPConfig3 for a while now. It kinda got annoying everytime I had to add a new domain to VPS, where I would have to manually add an associated client, FTP account, DB, Db account, email domain, email username. I decided to script stuff up and have a simple web form where I would enter a couple of details (client, domain name, username) that would be used to create everything mentioned before. It uses the SOAP library that the ISPconfig3 devs have provided. Check it out on github.