OK, just done some R&D into a Slackware based roll-out. Clonezilla is a good contender. It seems to sort out the udev id issue for you (by default, you can turn it off). What I recommend to anyone doing this is to keep the partitions to smallest sizes you're gonna install to. Clonezilla can resize partitions bigger but not smaller. I used gparted in a livecd to shrink the existing installation before imaging. But it wuold be better to install it this way initially.
Another way I'm thinking of doing it is a script that pull in my packages and settings and essentially sets everything up automagically. So the end result would be to install vanilla slack, then run a script which would wget to update itself and pull everything from a sort of repo and perhaps database. This way is more flexible and allows for centrally managed changes over time. However, it will probably be more work initially.
In my previous roll-out I used livecd generating tools to remaster an installabel ISO. It was cool but the remastering is slow (not a big deal) and the development cycle required lot's of re-installing.
Either way, what I've learnt is to put everything in packages. Not only is it easier to distribute and update, it's easier to track the customisations.