Unless you hugely overpower your victim it's pretty hard to attack many cities at once with minimal casualties. As you listed, the key is to let your wounded units recover, and for me that usually happens when I attack with one massive SOD army. When I try to be clever and split my force, one prong of the attack is often overrun by an overwhelming wave of siege and inferior but limitless units. Once your defensive units are all hurt and your attacking units are doing the defending, the stack is unlikely to be offensively useful, and you're just losing precious units.