Hello Uzair,
eBGP is by far the most common option in a scenario like yours.
Different ASes have different administrators and using an IGP is seen as an unnecessary exposure of internal details.
Using an IGP process different then the one deployed inside would require redistribution as with BGP.
BGP is preferred for its rich feature set and also because it has been designed for this kind of scenarios.
eBGP convergence can be improved using:
neigh x.x.x.x ebgp fast-external-fallover
you can also deploy more aggressive timers on a per neighbor basis
neigh x.x.x.x timers 2 6
see
neighbor [ip-address | peer-group-name] timers keepalive holdtime
http://www.cisco.com/en/US/docs/ios/iproute/command/reference/irp_bgp4.html#wp1011411
neighbor ip-address fall-over [bfd | route-map map-name]
http://www.cisco.com/en/US/docs/ios/iproute/command/reference/irp_bgp3.html#wp1013842
this is the modern version of old ebgp fast-external fallover that was able to tear an eBGP session when the link to neighbor fails without waiting for hold time expiration.
Hope to help
Giuseppe