I agree that Citibank, Standard Chartered, Alfalah and Royal Bank of Scotland (there is at least one in Peshawar for some reason) are the best bet for foreign cards. Visa, Maestro, Mastercard. There are plenty of banks that do not accept foreign cards so if you have issue then ask for directions to one of the above banks.
Peshawar (there are banks near Dean Centre) , Lahore (Mall Road) and Islamabad (Try the Citibank or Standard Chartered at the end of the Blue Zone) are all good for withdrawing from foreign cards. I would always carry enough cash for the north but I believe that Gilgit has an ATM that takes some foreign cards.
Have a great trip.
JJ

