As a graduate student I switch between many tasks during each week. My activities consist of attending classes, doing homework, grading, working on my research and studying for exams. However I notice that from time to time I tend to procrastinate **and this happens mostly** when I have to switch from one task to another or when I feel that a task is difficult and I am not yet sure of how to handle it. It also may occur when I work at home in Sundays or when unexpected lab meetings interrupt me from my schedule.

My situation is not that I do not feel productive, but some hours per week can be lost due to this issue (which is an important thing).

In general the main idea of my problem is: I tend to procrastinate when switching tasks.

To protect me from distractions I have installed browser plug-ins that do not allow me viewing distracting websites more than 5 minutes per day.
I also try to keep track of how much time I spend on each task and have established a relatively stable weekly program.

However I believe I could benefit from better time management advices to handle procrastination...

What are your suggestions ?

p.s. Sometimes what also takes time, is communicating with family and friends. I am an international student and I dont want to lose touch with my people. Although I have a relatively steady pattern of communication with them (usually within weekends) nostalgia beats me wanting more discussion.

----EDIT----
Most answers seem to suggest micromanagement time approaches.
However I believe that micromanagement tends to take a lot of time too.
How can you reduce effectively the time it takes to make a schedule for a specific day ?