Things take as long as they do because there are a lot of things for us officers to look into.
First we investigate the sponsor. We confirm their income, we check for a history of welfare, we confirm repayment of any outstanding immigration loans, we confirm all paperwork is accurate and complete, we make a recommendation to the overseas visa office.
Then the visa office has to do many of the same things and more to investigate the Principal Applicant and any dependents.
All of these things take time. Add to this the HUGE line of people applying and you've got a serious wait time. Currently when we receive an application for Spouses, children etc... we don't even look at them for approximately 30 days. In the case of parents and grandparents we don't even look at the kits for approx. 2 years. These delays are entirely due to the quantity of applications we receive on a daily basis.
Be thankful you're not coming in from India or China as the wait times in those countries can be significantly longer due to the backlog at the overseas offices.
Want to improve your times... make sure all the paperwork is complete and accurate and submit everything that has been requested. You'd be amazed at the number of incomplete applications we receive and these slow everyone down.