Imposing a sort order on a query
I'm not a member of the “goto is evil and must not be used under any circumstances” camp.  Especially in performance-critical low-level routines, it can be useful from time to time.  However, most of the time, the temptation to use goto actually stems from missing a better opportunity to structure the code.  In your example, I'd simply re-structure it like this, which I find is not only more readable but also much shorter.

public static IQueryable&lt;T&gt;
Sort&lt;T&gt;(this IQueryable&lt;T&gt; query,
        String field,
        String direction,
        Expression&lt;Func&lt;T, Int32?&gt;&gt; defaultSort = null)
{
    if (!String.IsNullOrWhiteSpace(field)) {
        try {
            return query.OrderBy(String.Format("{0} {1}", field, direction));
        } catch (NullReferenceException) {
            // NOT FOUND: Field wasn't found just return the original query.
        } catch (ParseException) {
            // NOT FOUND: Field wasn't found just return the original query.
        }
    }
    if (defaultSort != null) {
        query = query.OrderBy(defaultSort);
    }
    return query;
}