Overseas, things have got really better by NADRA. I got my SNICOP from Dubai, applied online and received at home although the residential address was incorrect which I haven't got corrected so far. Then I also got my MRP passport renewed from Dubai, for passport I had to visit Pakistan Consulate.
I Karachi, you don't need to pay any agent for anything. Pay the fee at bank counter, take the slip and sit in the queue, its that simple. You go through finger prints (biometric), data entry (any updates from previous records like residential address, marital status, education etc), then the officer who approves it.