Those who are bashing Hafeez and Azhar for no logical cricketing reasons should get their facts straight. There is no comparison between Kamran, Azhar and Hafeez. All three are different caliber players and have different particular advantages for the team. All caters to different formats and are specialists to their fields. Kamran was a genuine wicket-keeper batsman, so his USP was providing batting value alongside keeping, Its the other thing that his keeping isn't up-to the mark since long time.
Hafeez has been a good all-rounder for shorter formats T20 and ODIs. He provides value with his experience, batting as well as the extra bowling advantage he used to have. Recently, He gets a ban again on bowling so now PCB have to see how useful Hafeez would be for ODIs and Test Matches.
Azhar Ali is a high-quality test player who has scored centuries in almost every part of the world with his superb temperament and class and still rocking in that very format. Unfortunately, Azhar couldn't improve his strike rate and performance in ODIs post CT which everyone in Pakistan thought he will eventually because in "Champions Trophy Final" against India, He really played a sheet-anchor role there and guided Zaman superbly, he played according to the requirements there and the result was a huge Final defining opening partnership.
Now since Kamran is in his form of his life in T20 format with no international keeping expertise in his bag, Its a tough decision to make him a permanent member of the squad as opener because of his fielding placement issue as well as his core skill (which was keeping has gone long ago). He has no competition with Sarfraz as Sarfraz is miles ahead than Kamran in responsibility towards skills. Kamran has been a member for the team for over a decade and now logically its time to utilize him on need basis only. He shouldn't be write-off at the moment however, He can be utilized in T20 format for some time but he can surely be not a member for WC 2019 as it would be a huge risk to induct him as opener or lower middle order aggressor there because as soon as his form will start a hit, He will be a burden on that all important tournament because of his ill-technicality towards batting as form is temporary class is permanent. He has developed himself into a good slogger but he isn't a genuine technical opening batsman which we need most alongside Fakhar at the moment which we will find from domestic strucuture. There is Imam, Shan Masood, Sami Aslam, Shehzad (If gets his form back) to name a few. You got to remember the quality of bowling and pitches as well confronting Kamran's power hitting in WC 2019.
Fakhar is a natural talent pacey opening batsman, He need a good head with him in WC 2019 to build strong opening partnerships. Half batsman/Half Keeper like Kamran can't occupy the space of a proper opener in the all important World Cup. Its like sending Pandya/Kedar Jadav as opener in WC when they struck a good slogging form and you are short of openers to partner Rohit Sharma. Its a bad bad solution i believe. You need to get specialists for the special roles.