You do not need to send your citizenship application from Canada. You can send it anywhere in the world. The problem is filling out the physical presence calculator form, where the last eligbility date (i.e. the day you sign your application) will be inaccurate because you're still outside of Canada. You can include an explanation with your application.
However, you still need to maintain your PR status, meaning meeting the RO, up until your oath. At this time, IRCC website says historically, it takes about 27 months to make a decision, and that time frame excludes the wait time to the oath ceremony. So you should probably allow 27 months and additional time to maintain your PR status after you move to the US. Who knows if or when the processing time will go back to the 12-month service standard...
Source: I applied from the US, and my application was accepted and processed.