Do not choose Karachi to Rawalpindi via train. There is possibility of getting late upto 24 hours. Instead go to Lahore via Pak Business Express (the only train to be trusted now a days, smart class ticket is 3500 per head one side or 6000 for return journey) and then hire a diesel hiace from there. The cost of diesel hiace would be around 4000-4500 per day + diesel cost.
An alternative, Karachi to Abbottabad via Daewoo (Rs 4350 per person). Abbottabad to Balakot via Hiroof (Around 1500 Rupees). And then hire a Jeep from Balakot for 3 or 4 days to visit different places in Kaghan Valley. There is jeep association in Balakot and they give nominal prices for such trips. In 2010, we hired a jeep for 5 days (1st day Balakot to Lake Saif ul Malook for camping and ansoo lake attempt next day, 2nd day Saif ul Malook to Naran, 3rd Day Naran to Lulusar to Lalazar and back to Naran, 4th Day Naran to Sharan Forest & then Shoogran, 5th Day Shoogran to Balakot). The cost was only Rs 14500 (including fuel). Although it was 3 years back but I think it will still be quite reasonable. And I think 4 adults and 5 kids would fit in a jeep just fine.