It is common for an agency/employer to ask this. There can be multiple reasons for this, most sound like they are working against you, but this isn't always the case:
- To see how much I may need to pay to get you. - If you are moving job, you are probably wanting more money, by knowing how much you are on just now, I can estimate how much I might need to offer (yes I know I should be working out how much is fair for THIS JOB, but see below), and maybe you already make much more than I have budget to offer, I don't have a blank cheque to pay whatever to get the best, you may be a rockstar but if you blow my budget significantly I won't be able to pursue you;
- To give me a yardstick to measure you - If I bring you a car, and say it cost 10k, you'll judge it differently to one that I say costs 100k. If you bring me a Senior Nerfherder who earns bottom of my scale, I'll look for different skills/experience from someone with the same title who earns something that breaks my payscale.
- To allow me to plan - As a hiring manager I don't just want to nickel and dime you, sometimes I have a other plans (which may affect you directly or indirectly). For example, last year I was taking on a Senior Nerfherder. I had three guys in interview, one was 2 years out of college, bottom end of a large scale, one was mid range, one rockstar, but who expected top end. Judging the candidates I reasoned that the rockstar was beyond what I needed for the role, and by offering the mid range guy something a bit more than what he was on, I had enough budget left to bring in the young gun as well (as we thought he'd be a good fit and had potential), so I helped 2 guys into a new role, helped my team, AND kept my manager happy by not blowing the budget.
- It's something else I can test - As well as interviewing I can often verify the salary as part of the references, this gives me a clue to your honesty, or are we already starting off on the wrong foot?
So, you can choose not to answer, the employer may well choose not to interview you if you don't (it's usually easier in UK/Europe, as jobs tend to advertise salary ranges, the US can still be pure negotiation which can be a different beast), but like the "don't say a figure first" old wives tale, it isn't always to your detriment to be honest.
If you think you're worth more in this new role, be honest about what you made, but have a good reason why I should pay you more.