I've never noticed Fly having bad accuracy (assuming that's what you meant by acc). 95% isn't too bad. The only time Fly seems to miss for me is when the opposing Pokémon has done something to either reduce my accuracy or increase its own evasiveness.
Anyway, Fly or Surf would be mine. Both powerful and useful moves in battle (particularly Fly, 'cause if you use it in double battles you can Fly off, then use a move that hits everyone in the field and not hit the one using Fly), and both useful out of battle. Actually, thinking about it, I use Fly way more than Surf outside of battle, and I really do like using it like I described in double battles, so overall I'd say Fly was my favourite. Sometimes I do hate that it extends the battle 'cause it takes two turns, but still.