Also see the Medal Drop Rates guide.
Get a level 1-3 valley, prefer a flat or a lake, next to one of your cities, NOT diagonal, directly next to... or both cities would be best. Make sure each city has an open valley slot to conquer the valley.
Level 5 Rally point, level 6 Feasting Hall. 1000 Archers. Target the flat DIRECTLY next to you that you picked out, put in to attack 200 archers, pick your hero... send, wait ten seconds, pick a new hero, send.... wait ten seconds, pick a new hero, send... send... send... 200 archers per wave, until you're out of heroes, with two cities I was doing ten attacks every five minutes.
The trick is to wait until the attack hits, immediately select the valley and abandon it. Whenever you abandon a valley, it immediately respawns, so your next attack hits for full value... abandon, respawn...With only level 6 compass it was a 4 minute 50 second round trip. I ended up getting 6 Rose Medals in a matter of 120 attacks on a flat in all of an hour.
Secondly send only warriors and archers nothing else.
The number of the soldiers you must send depends on the level of the valley, but in general these should do:
lvl 1 valley : 50 warriors 20 archers
lvl 2 valley : 70 warriors 30 archers
lvl 3 valley : 90 warriors 40 archers
lvl 4 valley : 120 warriors 80 archers
Finally, make sure you give valleys time to recover their troops.
Using this combination I got 7 rose and 4 lion medals in an hour.