One way is to manually check the date:
order by (case when substr(MY_DATE_COLUMN, 1, 2) between '01' and '12' and
substr(my_date_column, 3, 1) = '/' and
substr(my_date_column, 4, 2) between '01' and '31' and
substr(my_date_column, 5, 1) = '/' and
substr(my_date_column, 6, 4) between '1900' and '2100' and
len(my_date_column) = 10
then to_date(MY_DATE_COLUMN, 'mm/dd/yyyy')
end) desc
This is probably good enough for most purposes, although it will allow on February 30th.
What you really need is the IsDate function in Oracle, but it is not available.
I realized after posting this, that there might be an easier way:
order by substr(my_date_column, 6, 4) desc, substr(MY_DATE_COLUMN, 1, 2) desc,
substr(my_date_column, 4, 2) desc
, . , , -. , , , , .