With Nexus, you should just need to download the CBP Roam app. Set it up before you leave home, with your login and record the Nexus card numbers. Once you cross the border and have a stable enough signal, open the app and report your arrival. They will most likely call you on the phone number you give them (hence why you need a stable signal) and ask you the exact same questions they already asked in the app. If they then want you to report in person, they will direct you to a customs dock, but more than likely they won’t.
Here is more information and links:
https://www.cbp.gov/travel/pleasure-boats-private-flyers/pleasure-boat-overview. I believe you can also report by phone into the US by calling 800-562-5943, but I have only ever used the ROAM app. I’m not sure if that number is still operational. It came from
http://www.nwboatinfo.com/customs.html, which has good information on this.
To report your return into Canada, call 888-226-7277, as several others say, more than 30 minutes before you arrive, but less than 4 hours.
Tip, I created a document that contains all the phone numbers, and all the Nexus card information (number, full name, expiration date, etc), vessel HIN, MMSI, and anything else they could possibly ask for. Then I printed and laminated it, and we keep that on the boat. That way, when we go to report, we pull that out, and all the information we need is there so we can easily retrieve it. It made border crossings a lot easier.