Ha, kilka godzin temu akurat skończyłem takie pisać. Co to znaczy "profesjonalne"?
Najprościej ustawić menu za pomocą position: relative, absolute, static (zależy od potrzeby) na left/right taki, aby całe schowane było za ekranem, a następnie za pomocą JS (po kliknięciu na jakiś "button") animować jego wyjazd i ustawienie się na left/right = 0.
Oczywiście metoda zależy od przypadku, więc chciałbym, żebyś powiedział coś więcej.