When I first saw this challenge, my immediate thought was using RegEx! Just like everyone else, I created a workflow where I used 6 RegEx tools to evaluate different patterns. There is probably a better expression to use. I'll make sure to through some of the other workflows to find more robust expressions.
I then used a formula tool evaluating all the columns for null values against each other and then when a conditional statement is found true, a nested if statement calls the substring function to parse the string into a DD-MON-YYYY format. That file is then parsed using the DateTime tool into the format that is in the output. Joined together to find that it worked! This was really fun!