In practice, every UK operator for whom I have flown has used the following SOP (or very close to it), which works worldwide, guards against forgetfulness and distraction and seems to satisfy ATC. At least, I have never heard ATC complain, nor have I reported the wrong level/altitude in the climb or descent:
On take-off, all three altimeters set to QNH.
(If cleared to a FL as part of the initial clearance, set STD on Nos 1 and 2 when above accel alt.)
When cleared to a FL, set STD on Nos 1 and 2.^
When above T. Alt and MSA, set STD on the stby.
Before top of descent, set QNH on the stby.
When cleared to an altitude, set QNH on Nos 1 and 2.*
Contingencies:
^Climbing, if required to level off at an intermediate altitude below T. Alt., set QNH on Nos 1 and 2.
If required to report passing a certain altitude, refer to the stby.
*Descent, if required to level off at an intermediate FL above T. Lvl, set STD on Nos 1 and 2.
If required to report passing a certain FL, set the stby to STD and refer to that.
For QFE operations, use a derived QNH.