Broadly speaking I've seen people take the following routes:
1) Stay as a developer. There's no reason to actually move on at all, developing is just fine and there are a lot of people I know into their 30s and 40s who have no intention of moving from something they enjoy into something they won't just for the sake of "progression".
2) Technical Architect. Potentially still hands on to a degree but also involving higher level technical design and analysis, platform selection and so on. Generally speaking a Technical Architect will have spent 5 - 10 years as a developer before moving into this sort of role.
3) Project Management. The first of the hands-off options (a proper Project Manager won't code except maybe for the odd little tool to make their own life easier). A Project Manager runs the project as a whole from start to finish, liaising with the business and the developers, ensuring the business case is valid, planning and managing the plan, monitoring risks and so on. In terms of when you can move into Project Management, it can happen at any point, though the earlier you do it the smaller the projects you're given to manage are likely to be.
4) Business Analysis / General Consultancy. Writing specifications, discussing what's needed with users and clients, documenting it, working with the developers and testers to make sure it's understood. Again, a move into this sort of role can happen at any time, though more experience as a developer will tend to afford you better opportunities as an analyst.
5) Development Management. Distinct from Project Manager though in some instances (particularly in smaller organisations) they'll be rolled into one. The simplest distinction is that a Project Manager is responsible for the project, the development manager is responsible for the team. A Development Manager will almost always have a technical background, may still be hands on, and will have a good understanding of development process and the associated tools. Most of their time will be spent keeping the team productive and keeping the development work moving forward. Generally speaking someone will have worked for 5 - 10 years as a developer before moving into this sort of role.
If you want to move beyond these into more senior management then Project Manager and Development Manager are the most likely routes out.
Which is best for you is entirely down to what you want to do and what your skills are and none of them should be seen as right or better than the others. It's entirely possible to try them out and move back or move on again. From my experience the only thing that stops that sort of move being possible is when you become senior enough that you won't take the salary drop which comes as part of moving into an area where you're less experienced.