You only need to check InvokeRequired
where you are multi-threading and need to marshall updates back to the UI thread.
I would argue that using it everywhere is probably not a good idea because you should define and understand your threading model and therefore know exactly where the thread boundaries are and the points that need this check.
If you spinkle them liberally everywhere you are basically saying "I have no idea if this will be called only by the UI thread or not" and (assuming you actually do have multiple threads) is going to lead to a world of debugging pain when you find you've missed a point or other non-thread safe code is executed as a result.