From an Exchange
The easiest place to buy SNX is on Uniswap. It's decentralized, and there's no requirement to create an account or input personal information. As of November 2019, SNX volume on Uniswap exceeded the volume on any other exchange. More information about the Uniswap liquidity pool is available here.
Kyber is another decentralized option.
Kucoin is a more conventional centralized exchange option.
For charting, limit orders, stop orders, and other more advanced trading strategies, dex.blue is a decentralized platform that pulls from several liquidity pools.
While the token is listed on Kucoin, there's very little motivation in the community to pay for another centralized exchange listing. For one, SNX is a staking token much more than a trading token. Investors hold it for the yield as much as the appreciation in price. Also, decentralized exchanges and OTC brokers have done a serviceable job meeting liquidity needs. With these reasons in mind, there are better ways to spend SNX reserves than paying for centralized listings.
For a cryptocurrency with SNX's market cap and community participation, the token is fairly illiquid, the reason being that most SNX are staked and thus locked. If you're looking to transact in size (i.e., at least 50,000 SNX), there is an OTC channel in the community Discord. Post there to be matched with a counterparty.