Cannon besuchte die University of Tennessee und wurde drei Mal in die Bestenauswahl All-American gewählt. 1987 erreichte er das Viertelfinale der NCAA-Meisterschaften, unter anderem durch einen Sieg über den topgesetzten Richey Reneberg. Nachdem er 1988 an der Seite von Greg Van Emburgh bereits die Challenger-Turniere von Las Vegas und Acapulco gewinnen konnte, wurde er 1989 Tennisprofi und stand noch im gleichen Jahr im Doppelfinale der Kanada Masters. Im darauf folgenden Jahr gewann er mit Alfonso Mora in São Paulo seinen ersten Doppeltitel auf der ATP World Tour. Im Laufe seiner Karriere konnte er drei ATP-Doppeltitel erringen, darunter beim ATP Championship Series-Turnier von Barcelona. Eine Woche nach diesem Turniersieg zog er sich im Doppelfinale von Nizza eine Schulterverletzung zu und musste aufgeben. Er konnte jedoch seine Karriere fortsetzen. Seine höchste Notierung in der Tennis-Weltrangliste erreichte er 1987 mit Position 318 im Einzel sowie 1993 mit Position 27 im Doppel.
Als Einzelspieler bekam er zweimal eine Wildcard für das Hauptfeld der US Open, er schied aber jeweils in der ersten Runde aus. In der Doppelkonkurrenz waren seine besten Grand-Slam-Ergebnisse das Erreichen des Viertelfinals der Australian Open und in Wimbledon. Viermal stand er im Achtelfinale der US Open. 1989 gewann er an der Seite von Robin White die Mixed-Konkurrenz der US Open durch einen Finalsieg über Meredith McGrath und Rick Leach.