Sahibzada Farhan bludgeoned a career-best unbeaten 80 off 45 balls as Pakistan routed struggling Sri Lanka by seven wickets in Rawalpindi.