There is no sure method except
sales_order_save_after, but generally I tend to use
sales_model_service_quote_submit_after. It covers opc, api and adminhtml (but not multiaddress).
sales_convert_quote_address_to_ordercovers all, but I don’t like it.
Frustrated by Magento? Then you’ll love Commerce Bug, the must have debugging extension for anyone using Magento. Whether you’re just starting out or you’re a seasoned pro, Commerce Bug will save you and your team hours everyday. Grab a copy and start working with Magento instead of against it.
Updated for Magento 2! No Frills Magento Layout is the only Magento front end book you'll ever need. Get your copy today!