You need to use the System.Management.Automation.Host.ChoiceDescription .NET Framework class, which is designed for console menus.
For a very good use case, see the Technet Blog article.
EDIT: I missed the fact that you need the arrow keys / enter a CLI menu with a managed key.
I found a blog post from Jakob Bindslet, which seems to be exactly what you wanted, although I confess that I can’t try it yet, but I can’t wait!
EDIT: Another great option from Michael Albert can be found on his blog ; I found this option excellent because it does not clear the console window when navigating the arrow.
source share