DNS propagation is dependent on your TTL (time to live) if it is set very low say 3600 the dns will refresh in an hour, usually the default is 86400 (seconds) which is 24 hours.
So it really does not matter if the domain is managed by the hosting company. Pretty much all hosting companies are domain resellers from the largest registrars, so again it does not make a difference if the domain name and hosting are at the same company.
Usually, because they are both working off the same server. I have used a few different domain registrars and it seems that GoDaddy is a bit slow whereas 1and1 and Register.com seem to be a bit faster. It's always good to clear your browser cache when you're waiting for propagation as well, because sometimes that's the only thing that's keeping your website from showing up as propagated.
In theory, it will reduce the propagation time a bit. However I would not suggest you put both domain & hosting on the same providers. It's better to buy domain at one provider and buy hosting at another difference provider. This will reduce the high risk in the future in case one of them can not access by accident or some else reasons. IMO