Done this route many times but not recently. As I recall:
Check in SXM, get both boarding passes and bags tagged YYZ.
Arrive CLT, clear US Immigration (separate and slower line for non US citizens).
Pick up bags and drag past US Customs.
Throw bags on to another conveyor.
As you will have left secure area, you must go through security again to reach your gate for flight to YYZ.