It depends on whether you want to clone a blog you've already set up, or if you want to start fresh and create a 'perfect' blog setup that you can go on to install multiple times.
If it's the second, you'll need to put in some effort up front, but you'll end up with something you can install over and over with all the settings already in the setup script.
That's the method I use. It's not hard at all, but you need to know a little about php and WP to get started.
The trick is to code the part that does the plugin autoactivate and configuration. Configuration of plugins is the hardest because you need to know what each plugin you autoactivate inserts into the db. The only way I've found to do this reliably is to do a db compare using before and after snapshots of the db and then scripting the new parts into the install.php or upgrade.php files in the WP engine.
But using this method you can change default settings at install time so you have custom tags, categories, pages, comments, posts, etc set up in the installer package and when you run through the upload and install bit you save heaps of time.