Here's why:
* Numbers over 20 are generally not hyphenated when used as adjectives.
* Numbers used as adjectives are typically hyphenated when they precede a noun (e.g., a twenty-mile hike). However, "miles" in this case is a noun, not an adjective.
Therefore, you would write:
* "They drove a 54-mile route." (Incorrect)
* "They drove a 54 mile route." (Correct)