If I am searching within user defined routines (Procedurs, fucntions and views), I will go with sys.sql_modules or INFORMATION_SCHEMA.Rountines as they will eliminate system created views. But check constraints (Which normally have hard coded values) are not covered with there. So it depends of what do you really want to search.
More than that, it is also depends on your practice.Many of us haev used syscomments for a long time, and it is hard to change immediately. :)