The engagement is a time to make plans, to discuss money, to settle out details between the two of you. It's not all romance, this is a business proposition too.
I think that an engagement should last about a year. THat way you can take the time that is needed to plan a Wedding. If that t ime period is too short then it adds more stress to an already sressfull time.
Personally, I think not very long at all: 3 months at most. The advice I usually give is "long courtships, short engagements" (or "date for years, be engaged for weeks").
The more elaborate the wedding is going to be, the longer the engagement should be. In order to achieve the wedding of your dreams requires time to plan.