Wyndham Clark held off Patrick Cantlay to win the BMW Championship at 17-under par, earning his third victory of the season.