How do I create a plugin to create and save multiple entries from one front-end form? I need to create several entries in different channels from a single front-end form. I realise that to do this I will need to create a plugin to handle the request.

Can I just to iterate over the post values in my controller action, validate them and build the entry models for each new entry, then loop around Craft's EntryService saveEntry() service for each entry I want to save?

Or do I need to write my own saveEntry() service to handle saving multiple entries?
I'd go with your first option.

Grab the $_POST values via craft()->request->getPost(), assemble them in your multiple EntryModels, validate each model, then pass them off to craft()->entry->saveEntry().