Hi,
Router 1 > Router 2 Direct EBGP session. If we shutdown the neighbor or the interface convergence should be pretty much straight away ie no waiting for timers.
Correct. There is no waiting for timers.
Router 1 > switch 1 > Router 2 Indirect EBGP sessions. Shutdown neighbor again will not wait for BGP timers and convergence should be quick
In this case if router-1 link to switch-1 goes down, router-2 doesn't know that because the connectivity between switch-1 and router-2 is still up and so the timers have to expire before the convergence take place. Also, it should not make any difference if you are running BGP in a VRF or global routing table.
BFD certainly speeds up the convergence time.
HTH