`Information[TraditionalForm]` indicates that `TraditionalForm` is `ReadProtected` (and `Protected`). We can remove that with `ClearAttributes[TraditionalForm, {Protected, ReadProtected}]`.

Then `Information[TraditionalForm]` shows only a few definitions: besides some for dots and for `InactiveDTraditional`, there are definitions for use within `MakeExpression` or `MakeBoxes`,

 MakeBoxes[BoxForm`apat$_,TraditionalForm]^:=BoxForm`BoxFormAutoLoad[
 MakeBoxes,
 BoxForm`apat$,
 TraditionalForm,
 "Typeset`TraditionalForm`",
 {{TraditionalForm,MakeBoxes},{TraditionalForm,MakeExpression}}]
 
 MakeExpression[BoxForm`apat$_,TraditionalForm]^:=BoxForm`BoxFormAutoLoad[
 MakeExpression,
 BoxForm`apat$,
 TraditionalForm,
 "Typeset`TraditionalForm`",
 {{TraditionalForm,MakeBoxes},{TraditionalForm,MakeExpression}}]

Digging a bit, <code>BoxForm\`BoxFormAutoLoad</code> loads the file 
<code>System\`Private\`$SystemFileDir<>System\`Dump\`fixfile[#4]<>"x"</code> then the definition that called <code>BoxForm\`BoxFormAutoLoad</code> is <code>UnSet</code> to avoid loading the file twice. In our case, <code>#4</code> is <code>"Typeset\`TraditionalForm`"</code>, leading on my system to loading the <code>.mx</code> file

 C:\Program Files\Wolfram Research\Mathematica\10.0\SystemFiles\Kernel\SystemResources\Windows-x86-64\Typeset\TraditionalForm.mx

Files with the extension `.mx` are binary files that contain definitions of some symbols and can be read with <code>Get</code>. Unfortunately, `Trace[Get[filename]]` does not show what is going on when *Mathematica* reads the file. More elaborate tricks redefining `Set` or `SetDelayed` using code from ["Overriding a built-in function with custom coded procedures"][1] do not help. As far as I can tell, when reading an `.mx` file, *Mathematica* directly injects the stored definitions without invoking `Set` or `SetDelayed`. So we cannot see rules as they are added.

After failing in that direction (and staring for an hour at the irrelevant `Trace[Import[filename]]`), I realized we can simply look at `Information[TraditionalForm]` again. It now gives a rather lengthy output: 64 `FormatValues`. For instance, a simple rule

 HoldPattern[MakeBoxes[Function[x_, y_], TraditionalForm]] :>
 RowBox[{Parenthesize[x, TraditionalForm, Set, Left],
 "\[Function]",
 Parenthesize[y, TraditionalForm, Set, Right]}]

defining how a function f:x->y should be converted to boxes. (There are rules with `MakeExpression` which do the opposite transformation from boxes to an expression.) However, this is not the end, as there are still some rules which call <code>BoxForm\`BoxFormAutoLoad</code>. For such rules, *Mathematica* loads yet another `.mx` file and the only way to know its contents is to load it and take another look at `FormatValues[TraditionalForm]`.

Depending on our aim, it can be worth loading all files

 Get /@ FileNames["*.mx", 
 DirectoryName[
 System`Private`$SystemFileDir <> 
 System`Dump`fixfile["Typeset`TraditionalForm`"] <> "x"]];

However, this does not run the code in <code>BoxForm\`BoxFormAutoLoad</code> that removes definitions involving it. One way that seems to work is to `TagUnset` the `FormatValues` that involve <code>BoxForm\`BoxFormAutoLoad</code>, but I wouldn't trust that in production code.

 Unprotect[TraditionalForm];
 Scan[(If[Not[FreeQ[Hold[#[[2]]], BoxForm`BoxFormAutoLoad]],
 TagUnset[TraditionalForm, 
 Evaluate[(#[[1]] /. Verbatim[HoldPattern][x_] :> Hold[x] /. 
 Verbatim[HoldPattern][y_] :> y /. Hold :> HoldPattern)]]]) &,
 FormatValues[TraditionalForm]];

Sorry for the ugly code as the second argument of `TagUnset`: there, `#[[1]]` is the left-hand side of a rule, but it takes the form `HoldPattern[somename:HoldPattern[somepattern___]]` and I had to remove the inner `HoldPattern`.


[1]: https://mathematica.stackexchange.com/a/95720/39260