In my experience it takes 5 days for a domain name transfer to be completed. It's been a couple of years since I transferred a domain name. I've transferred a number of domain names over the years and they all took 5 days. Make sure you get your EPP code from your existing registrar if needed by your new registrar.
You can keep your domain name registrar and web host separate. In fact, many people will recommend that you do this for a number of reasons. Go Daddy's reputation for web hosting is very bad. If you are happy with your current web host's service, you would be best to stay with them. Transfer your domain name anywhere you want and host your websites anywhere you want. You don't need to keep them both with the same company.
About the only issue I can think of is deciding which DNS to use, your domain registrar's or your web host's. I prefer to use my domain name registrar's DNS because I can point the domain name anywhere I want without worrying about DNS propagation issues. Go Daddy, like most domain registrars, provides DNS services for their customers. So you can set up your domain to use their DNS server and point your domain to the IP address of your web host's server.
As far as domain name registrars go, I prefer [Namecheap. Namecheap provides a year of Whoisguard free with transfers, which will hide your personal details from public viewing. Otherwise, using discount code WGSPECIAL you can get Whoisguard for $0.99 per year. You can also find [URL="http://www.namecheapcoupons.com/"]coupons for discounts on transfers](https://www.namecheap.com/domains/transfer-a-domain.aspx).