Very cool battle report!
A couple of thoughts on my part though:
The scenario seems a little rigged in goods favor. You pretty much played it perfectly, hold the river, break and hope for a 1-2 (33% chance so about 3 turns) to seal your victory. Even if the game did continue on, the two buildings that ultimately did nothing would still win you the match. This was also represented in the evils uruks who did nothing but stand in the middle and fantasize about a ford appearing for them.
Your Rohan force also seemed to lack imagination. Their bread and butter is riders but you failed to give them bows which they paid for (or just forgot to specify that you did.) The riders also failed to get into any combats where they truly shine. Something to experiment with if you are new with a Rohan force is to mount all your archers in your force. Use the enhanced mobility to either stay out of enemy bow fire while you pick off his troops or force him to bottleneck to avoid your bows giving you the advantage of moving where you need. With Gandalf in there, I would have mounted Gandalf, used blinding light then used that to win the archery war and picked off all the enemy archers while bieng for the most part immune to any consequences. Then allow your Rohan ground forces to engage the enemy, don't spearhead with your cav just yet. Since your rohan, and most likely not using spear support you will open up holes in your lines (most likely with stronger enemy units like berserkers and hasharin etc) this allows you to throw a rider of rohan into the hole getting a charge in no matter what and good chances for a kill. If you open up holes in your ranks and you lose priority you dont have to sweat as the enemy won't attempt to flank you or he will be neck deep in riders real quick.
Lastly, spice up your rohan force a little bit. Riders of the Westfold, Helmingas, Erkenbrand, Grimbold, Royal guards and sons of Eorl all perform dynamic rolls in a rohan force.
Hope your future battles fare better =)