MakeBoxes for Power not matching when inside Times?

I believe the existing rules for Times take precedence. (i.e. act first.)

Perhaps a derivative of this can work for you:

MakeBoxes[x_ /; ! FreeQ[Unevaluated@x, Power], TraditionalForm] := 
  ToBoxes[Unevaluated[x] /. _Power -> "matched"];

Responding to your entirely valid performance concern please test these for comparison:

MakeBoxes[x_Times /; ! FreeQ[Unevaluated@x, Power], TraditionalForm] := 
  ToBoxes[Unevaluated[x] /. _Power -> "matched"];

Or:

MakeBoxes[a___ * x_Power * b___, TraditionalForm] := MakeBoxes[a * "matched" * b]

Inspired by Mr. Wizard's answers, here is another possibility:

MakeBoxes[c_. x_Power, TraditionalForm] := MakeBoxes[c "matched"]