>>I don't believe this problem can be solved by adjusting the loop bandwidth.
Acquisition time is roughly inversely proportional to loop_bw and error variance is proportional to loop_bw. So there is always a tradeoff between acquisition time and tracking performance. You should try adjusting loop_bw (http://www.trondeau.com/blog/2011/8/13/control-loop-gain-values.html).
>>Applying faster tracking algorithm may solve this problem, but I think it takes long time to develop for a new guy.
If you have a good understanding of the algorithm, its really easy to
prototype the alogorithm in GRC or by using gnuradio python-block coding support. "gr_modtool" is always there to make block coding easier.
-Sreeraj