Heres a custom version of the prot leveling macro for prot level grind (52+) and endgame tanking.
Charge in manually using the following wow macro…
/cast [nocombat,stance:1] Charge; [combat,nostance:3] Berserker Stance; [nocombat,nostance:1] Battle Stance; [combat,stance:3] Intercept
…then activate the gse macro when you are at the target.
It will Thunder Clap from the rage generated by Charge, then switch to Berserker Stance, activate Berserker Rage, Whirlwind, switch to Defensive Stance, apply Demo Shout, apply Sunder to any target (once per target swap), stack Sunders when rage available, and the rest of the prot rotation.
All you do then is run around switching targets that you lose aggro on (preferably those closing on your healer/clothies first) till everything is dead.
Use the following Taunt macro liberally on any melee mobs that you lose aggro on:
/cast [stance:2] Taunt; Defensive Stance
Using a nameplate addon such as Threat plates or the even better Plater (with a classic profile imported from wago.io/plater), in conjunction with the macro is recommended, because it makes seeing which mob(s) to focus the moment you lose aggro, so much easier than default nameplates ever could.
If you need to Intercept, toggle off the macro and spam the Charge macro above a couple of times (it will enter Berserker and Intercept, if in combat), otherwise use the modifier in the gse macro (ctrl will do the same thing while gse macro is spamming).
You can also use the Charge macro mid fight just to get back into Battle Stance. The gse macro will then Thunder Clap whenever it has enough rage, after which you can hit the Charge macro again to go back into Berserker, which will make the gse macro Berserker Rage if its up, Whirlwind, go back into Defensive Stance, etc.
If you need to Disarm (very useful against enraged mobs), toggle off the macro for a second or two to build rage, then use Disarm and toggle back on, or you can put Disarm on the alt modifier (instead of Heroic Strike for rage dumping that is there by default).
Talents required (15/5/31):
If not yet 60, put points into Cruelty last.
Running this at 100 ms.