Ultraxion is not the world's best fight for moonkins. His DoT uptime is good, his rotation looks right. I see double-potting and appropriate use of the special button. His eclipse up-time is spot on.
His haste is a little low. A better gear combo would be for him to pick up the moonkin tier helm and switch his current tier chest to resto (annoying, I know, but it's the best way to get the most haste).
I ran a comparison between his Ultrax fight and my most recent one (I'm at a similar gear level, no legendary, but did about 5k more dps than he did), and the major discrepancy is his hits/minute on his main nukes.
This could be caused by 2 things: either his lack of haste (he’s a little low, as I mentioned before), or that he’s not following the ABC rule of casters: always be casting. Does he queue his spells? Does he have an addon that shows latency on his cast bar so he knows when he can start his next cast?
Edit: here's the comparison, if you're interested:
http://raidbots.com/comparebot/4f340...e0009b4#damage