I just completed the process this month. Here are the relevant bits:
1). I bought my boat in San Diego. Some local Tug Nuts helped me assess the vending broker, the marina to do work on the boat, the engine surveyor and the marine surveyor. I flew down for the checks, had the boat detailed, winterized, service and shrink wrapped ready for transit.
2). I hired a Canadian Transit Company (Andrews Transport) to bring the boat up from San Diego. They were not the cheapest but they were extremely professional and knew the drill. They brought the boat up in four days over the Ambassador bridge. They had all the wide load permits and knew what they were doing.
3). I hired a US firm to Deregister the boat (Dona Jenkins in San Diego) and they got all the paperwork through that officially removed my boat from the US Coast Guard registry . She also provided me with the clear title after the appropriate checks were done. They can ask your shipper for this information at the border.
4). I hired a Canadian Customs broker to process all the paperwork (White & White). They worked with Andrews Transport to ensure that the crossing of the border went well. When the boat arrived in Lasalle Ontario (where it's stored) I had two certified checks - one for Andrews for the transport and one for White & White to pay for their services and reimburse them for the taxes upon import.
5). The last step is to register the boat in Canada. I have used the online system but the processing time is 30 days so I don't know whether I did it right or whether my chosen boat name was available.
Roughly - Service and winterization $1k; Shrink wrapping - $1k; Deregistration in the US - $250; Canadian Broker - $400; Online registration - $250. Shipping of course varies with too many details.
PM me if you have more questions.