Sort[list]Sort[list, p]Sort[{4, 1.0, a, 3+I}]
Sort uses OrderedQ to determine ordering by default.
You can sort patterns according to their precedence using PatternsOrderedQ:
Sort[{items___, item_, OptionsPattern[], item_symbol, item_?test}, PatternsOrderedQ]
When sorting patterns, values of atoms do not matter:
Sort[{a, b/;t}, PatternsOrderedQ]
Sort[{2+c_, 1+b__}, PatternsOrderedQ]
Sort[{x_ + n_*y_, x_ + y_}, PatternsOrderedQ]