I thought I heard, of late, that one can NO longer get the visas in a third country, be it canada or mexico! Plus, once you have an approved H-1B petition, it is considered quite safe to get the visa in the home country. It is unlike F-1s where random rejection is quite rampant.