Quote Originally Posted by Боб Уайтман
I think that "на флоте" was formed by analogy with "на корабле" (on a ship) where the preposition "на" is logical.
Согласен. Все, кто считают, что корабль "плавает", должны говорить "служить во флоте", а те, кто знают, что корабль "ходит" предпочитают "служить на флоте" как более традиционное. Источник - "служить на галерах".