Excadrill Stats:
110 HP
135 Atk
60 Def
55 SpA
60 SpD
88 SpE
Total : 508
Ferrothorn Stats:
74 HP
94 Atk
131 Def
54 SpA
116 SpD
20 Spe
Total : 489
From a stat comparison, Ferrothorn has much better bulk, good Atk and passable HP.
Excadrill has massive Attack, excellent HP and good Speed
Additionally Ferrothorn has a much better movepool.
What you said about Excadrill's ability is true. However to do so you MUST get Sand Stream Tyranitar/similar in order to abuse it every time, which is not easily available till Lategame. This means you will not be able to abuse Excadrill to it's full extent.
Ferrothorn has the potential to wall for your team, take attacks like a boss, mess around with the NPCs and still hit hard with Power Whip/Gyro Ball
However, there is still an argument for Excadrill. If you prefer a fast hitting, hard hitting Pokemon, Excadrill is the way to go - ingame its just about hitting first and hitting hard. Very few players really bother going down a slower, more stally route.
So it really comes down to personal preference. Excadrill is suggested if you want to get this over and done with, but Ferrothorn can probably prevent less Pokemon fainting. Also Excadrill becomes better lategame, once you get access to Sand Stream Pokemon.
Personally, since I prefer getting it fast, I'd choose Excadrill