##Pyth, 20 bytes

    ho-JrN0-JGfg.{rT0G.:

Explanation:

                      .: - substrings of input()
              fg.{rT0G   - filter to ones which contain the alphabet
     o-JrN0-JG           - sort by number of alphabetical chars
    h                    - ^[0]

              fg.{rT0G   - filter(lambda T:V, substrings)
                  rT0    -    T.lower()
                .{       -   set(^)
               g     G   -  is_subset(^, alphabet)

      -JrN0-JG           - sort(^, lambda N:V)
        rN0              -    N.lower()
       J                 -   J = ^
      -                  -  ^-V
           -JG           -   J-alphabet


[Try it here!](http://pyth.herokuapp.com/?code=ho-JrN0-JGfg.{rT0G.%3A&input=%27%22The+five+boxing+wizards+jump+quickly.%22+stated+Johnny%2C+before+beginning+to+recite+the+alphabet+with+a+bunch+of+semicolons+in+the+middle.+%22ABCDEFGHI%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3BJKLMNOPQRSTUVWXYZ!%22+he+shouted+to+the+heavens.%27%0A&test_suite=1&test_suite_input=%22This+isn%27t+a+pangram.%22%0A%22Everyone+knows+about+that+infamous+Quick-Brown-Fox+%28the+one+who+jumped+over+some+lazy+ignoramus+of+a+dog+so+many+years+ago%29.%22%0A%27%22The+five+boxing+wizards+jump+quickly.%22+stated+Johnny%2C+before+beginning+to+recite+the+alphabet+with+a+bunch+of+semicolons+in+the+middle.+%22ABCDEFGHI%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3BJKLMNOPQRSTUVWXYZ!%22+he+shouted+to+the+heavens.%27&debug=0)