You can take any public coach / coaster service to Mardan from Pindi and from Mardan there is regular service to DIR make sure you have your cnic / driving license or any photo id with complete details, for check at security stops. It is for your own safety
from Rawalpindi Pir Wadahi bus terminal to Chitral run by Haji Baig. He can be contacted on this cell number 0343 5801661. Call him for reservation. It does not go through Peshawar or Swat but it passes through Malakand pass and all the way to Dir and then via Lowari Pass to Chitral.