I have had little to no problem with sieges. Fundamentally, however, I cannot stress how important it is to engage the majority of your adversary's army outside of cities in open warfare. I've had success, regardless, but things are so much easier when only the remnants of an army are left defending city walls.

Regardless, here's my formula:

Julii legion (Assualting Army) approaches city. Main army (Possibly general?) attacks town with Siege equipment (2-3x Mangonels, 2-4x Ballista). Siege Towers and Saps are purchased. Rest of my "Assault Legion" includes 2-4x War Dogs, 2-6x Medium / Heavy Infantry [Started out with a mix of Hastati / Pricipes, now has been replaced with 2x Praetorians / 2x Urban Cohorts with early and Legionary Cohorts mixed in], 2x Cav [Cav Aux works well, Legion Cav, then Roman Cav if I have to]. I've been trying to spice these assault troops up with Samnite Gladiators [also tried with Arcani, who worked well]. This "Legion" should be followed up with an additional army of medium / auxillia / cav / archers. There should be no General in this army, as will become evident soon...

Here's how it pans out:

Mangonels target gate, then near towers. Ballistas assist, then target Gate Door itself. Then Ballista target any near towers. As this is happening, the saps or Siege Towers should be approaching the success. It is imperative that good solid assault troops (Praetorians / Urban Cohorts) are the first inside. In my opinion, it is wiser to send troops through the siege tower first. They will take heavy casualties, but will soak it up. If you've timed it right, the towers shouldn't inflict too much casualties. As the tower-troops are making their assault, commit your war dogs. Get the handlers within striking range, let loose the dogs, then withdraw the handlers. The dogs will go "to town" on the defenders, and you will be able to bring on fresh reinforcements under *your* control, as opposed to the suicide-General-AI.

Next inside the walls should be your Gladiators [preferably through the towers], if you included them. Get them on the walls, and get them moving. Use them to suppress any enemy troops along the walls, and then 'cap' the nearest towers - the quicker you do this, the quicker you can have unlimited arrows flying at your opponent within his own city walls.

By this point, the Dogs should have soaked up some serious damage to the enemy "ground forces" near or around your saps and the gate house. Don't worry about their losses, they will be replaced after you succesfully take the town (or if you don't, heh). Now proceed to use your multiple entry points to stream in troops. I can't stress enough how important it is to open as many holes as possibly in the enemy fortifications - you will find that the enemy commits troops towards the first breach in the fortifications that you enter. By having multiple entry points you can "turn their flank", which is especially useful when facing Spear / Phalanx / Heavy Infantry units. Gain a foothold at one end of the city, secure the breach, reinforce their positions, and decide upon a plan of assault through the city proper. Remember, unsecured towers will play hell upon your progress, so try and find those major thorough-fairs that head towards the center of town. If you have done this correctly, the enemy should be reeling from heavy losses, and is more than likely retreating towards the town center to form up en masse.

Despite their exhaustion, this is another good time for your Gladiators / Heavy Infantry - get them out in front, leading the vanguard of the advancing troops as they head through the city.

I reccommend sacrificing cav units by racing around the edge of town to additionally flank the troops within the city walls. As of yet, I have not been bogged down on the paths within the city walls, but the concern remains - I'm quite positive that at some point, a unit of Heavy Infantry / Spearmen is going to hold their ground on one of the main roads and I'll get held up. As everyone has said, time is imperative, so move around them, and speed is everything.

How to handle the town center? Move up fresh medium infantry (if Roman, any troops with ranged capabilities will do nicely). Form them on the road that surrounds the city center (be careful of the border of the city center, as "touching" it triggers the defenders to assault your troops), and then march them forward en masse, with "Fire-At-Will" turned on [this is how I handle the Roman Pila problem, as well. I let them decide when to fire, and when not to]. Then, once all projectiles are exhausted, commit them. By this time, your cav should have completed their foray around town, and they should be entering the city square from the other ends. Charge them in, as well.

Hopefully you will be able to complete this in the alloted time. I've not faulted on a siege yet, but I'm also very careful to only lay siege once I've destroyed the offensive capabilities of a city (ie, taking on the cities army in the field).

You will take casualties. The only way to minimize this (in my opinion) is to take full advantage of siege weapons and War Hounds.

Sorry for being longwinded.