Never roam on the ship's data.....extremely expensive. Safest to put phone into airplane mode, then turn on wifi.
On my May 4th Discovery Princess, 4 day cruise to Alaska (Vancouver-Ketchikan-Seattle) and a post-cruise stay in Portland, OR, I used this US SIM purchased on amazon.ca.
https://www.amazon.ca/Prepaid-Internet-Powered-T-Mobile-Days/dp/B09KWY33ZD/ref=bmx_dp_kn6r7fgo_sccl_2_3/133-2884903-7961621?pd_rd_w=zLIcq&content-id=amzn1.sym.e55928bd-e238-45b2-bf8e-0d68ca724b4f&pf_rd_p=e55928bd-e238-45b2-bf8e-0d68ca724b4f&pf_rd_r=5CQGPKNYMEWBXMBF4B2A&pd_rd_wg=iXfaH&pd_rd_r=6807d972-d86f-4122-9812-a65b6044f3ff&pd_rd_i=B09KWY33ZD&psc=1
It's only C$23.99 for 7 days of data (1GB/day, NO voice or text) on either T-Mobile or AT&T (whichever is available). There's also a 14 day SIM for C$35.99. This is way cheaper than paying $11/day to use your own data.
It was extremely easy to use. When we arrived in Ketchikan, I just swapped out my SIM and had T-Mobile data service within minutes....no setup required. I continued to use data services in Seattle & Portland and even roamed onto Telus when got back across the border. Hotspotting is also possible.
If you require voice, text & data, the same company offers this:
https://www.amazon.ca/T-Mobile-Prepaid-Unlimited-United-States/dp/B082PM9HSR/ref=sr_1_8?crid=22XW20AE38BAQ&keywords=sim2roam&qid=1655788536&s=electronics&sprefix=sim2roam%2Celectronics%2C126&sr=1-8&th=1