It is not intuitive but get_terms
will do it, if I understand what you need.
var_dump(get_terms( 'nav_menu'));
If you look in the *_term_taxonomy
table you can see why. The menus are stored as a taxonomy named nav_menu
.
This won’t get you things like page menus, only the intentionally created menus.