The etoolbox package is rich with list processing options. Here's one attempt.

\documentclass{article}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\begin{document}
\newcounter{menucount}\newcounter{curitem}% Counters
\newcommand{\menuitem}{\texttt}% Menu item formatting
\newcommand{\menusep}{\ensuremath{\rightarrow}}% Menu separator
\newcommand{\menuend}{\relax}% Menu end
\newcommand{\menulist}[1]{% \menulist{<menu list>}
\setcounter{menucount}{0}\setcounter{curitem}{0}% Reset menucount & curitem
\renewcommand*{\do}[1]{\stepcounter{menucount}}%
\menulistparser{#1}% Count menu items
\renewcommand*{\do}[1]{\menuitem{##1}\stepcounter{curitem}\ifnumless{\value{curitem}}{\value{menucount}}{\menusep}{\menuend}}%
\menulistparser{#1}% Process list
}
\DeclareListParser{\menulistparser}{:}% List separator is ':'
\menulist{File:New:Class}% 3 menu items
\menulist{Tools:Options:Advanced:Properties:Document}% 5 menu items
\menulist{}% 0 menu items/empty list
\menulist{Help}% 1 menu item
\renewcommand{\menusep}{~\rule{1ex}{1ex}~}\renewcommand{\menuend}{!}% Different separator and end
\menulist{Your:Menu:Sequence:Here}
\end{document}
\DeclareListParser{<cmd>}{<sep>} declares a list parser command <cmd> that processes a single argument as a list, with list item separator <sep>. The use of this definition is to accommodate an item:item:item:... style list. For regular CSV lists, you could also use \docsvlist which is predefined as \DeclareListParser{\docsvlist}{,} by etoolbox.
The main command \menulist{<menu list>} in the above MWE processes <menu list> twice. The first time it cycles through all the items, stepping menucount at every item, in order to count the number of list entries. The second time, it parses the list and formats each entry using \menuitem{..} but also adds a custom separator \menusep. The last menu item is followed by \menuend.