HSBC and RBC in the US can assist you in opening accounts with HSBC or RBC in Canada. If you visit Canada, you can also walk into most banks and open an account (assuming you have valid ID). Note that as a US citizen or permanent resident pretty much every Canadian bank will require that you sign a (US) W-9.
I routinely transfer money using my HSBC accounts, but I've also used an online exchange broker (xe.com). XE gives good exchange rates, although it takes about a week to move funds via electronic transfer (so they debit your US account and then credit your Canadian account). I've also used them to send drafts to people in Canada and they do allow wire transfers, which are generally executed much faster. Setting up the account initially does involve some paperwork, so this is a good choice if you expect to do multiple transfers over a period of time.
I've found that using banks to wire transfer money generally yields a very poor exchange rate (often 2-5% worse).
I've only used HSBC, not RBC, but I know RBC offers a comparable service.
Legally, the banks in Canada and the US are independent companies. That's why I cannot (for example) do ANYTHING between TD Canada Trust and TD Bank, even though they are part of exactly the same multi-national financial company. But HSBC and RBC have created special arrangements to allow cooperation across the border (and the legal entity boundaries).
I know that with HSBC I can move money online instantly. I've also found that the exchange rate I get for the cross-border transactions is quite competitive - better than I get from HSBC in Canada, in fact. "Under the covers" they implement these instant transfers as wire transfers. Depending upon the type of account you have there may or may not be a charge for that service...