The captain cant be changed now as the world cup is a month away, and its never a good decision to change the captain before the world cup.
So now it depends how he will perform in the world cup.
But it is a fact that as a batsmen, Sarfraz is terrible. People can argue that he is a keeper 1st and all, but the reason why Sarfraz got into the team and was made captain was because of his batting.
During Azhar Ali's captaincy, Rizwan was also competing for the keeper spot but Sarfraz got the edge because of his batting.
Avging 31 in todays cricket is a joke. He also bats very low and we end up losing quite alot of matches because he cant score runs to even save his own life. Its a fact that the only reason he is in the team is because of the captaincy.
Maybe after the world cup they could drop Sarfraz and replace him with Rizwan, who has scored 2 centuries now.