Just keeping him at range won't work. You have to remember that he has a lot of sustain.
Generally, in a draft style game, you'll want someone who can keep him low. If he is building strictly AP get ganks early. He has no escapes. If he is really tanky make sure you are coming out on top of trades. Get him to miss, then punish him. You have to be able to bait out his silence and rupture. They will be on CD long enough get some heavy damage down.
Once late game comes, if you are facing a fed cho, you need to rely on strong team work. Again, bait Rupture, making sure squishies aren't caught in it (gg otherwise).
Champions with peal can protect carries. Taunts, Silences, Snares, Stuns, and Knock backs are best.
Early game large amounts of burst and dps will keep him away from farm. Mid game avoid getting caught in his combo. Late game use cc to keep him off carries, saving your strongest cc for the enemy carries.
A smart Cho (or any disruptive tank for that matter; Singed, Shen, Rammus, Malp, etc) will completely ignore a teams front line. They win gun for your carries, quickly tanking them down with even a moderate amount of AP.
Force them out of lane early, then keep them shut down. Don't let farm stacks either, and capitalize on his cooldowns early-mid game.