Canada has a bunch, but they are simsubbed, so if a Canadian network airs a program at the same time as the US station, the Canadian network's broadcast appears on the channel instead:
ExpressVu (Bell): WHDH/Boston and KING/Seattle
Star Choice (Shaw): WDIV/Detroit, WGRZ/Buffalo, KHQ/Spokane, KING/Seattle
Beacuse of the way the CRTC regulates things up in Canada, the cities are still the same today, although WHDH was replaced by WBTS after it became Boston's NBC station. The Boston affiliates are picked up via a receive facility at WGBH's studios, while the rest are picked up via cross-border reception.
This is what I found on the old websites for Dish, Directv and Primestar:
Dish (as of 1996): WNBC and KNBC
DirecTV (as of 1997): WNBC and KNBC
DirecTV Puerto Rico: WNBC
Primestar (as of 1997): WHDH/Boston and KCRA/Sacramento
They also had a bunch of restrictions, and were mostly only available to people who couldn't get OTA reception with a standard outdoor antenna. Although up until the early 00s, it was pretty easy to convince a CSR to turn them on anyway. (To the point where Dish was stripped of their ability to offer DNS for a few years and only got the ability back after they started carrying locals for all 210 markets) Now Dish doesn't offer traditional DNS at all, instead they import neighboring affiliates to markets that don't have a local affiliate of one of the major networks, while for DirecTV CSRs can't enable DNS directly, they can only submit your address and account number to the Wavier process. For the markets they do carry that don't have all the major networks they either import a neighboring market's affiliate or remap one of the DNS feeds so viewers in those markets don't have to apply for DNS.