Es schmeckt mir sehr.
Bill Gates ist sehr reich.
viel indef. pronoun, adj.
Das Kind hat viel gegessen.
Bill Gates hat viel Geld.
You answered the question yourself by indicating the function of the words. "Sehr" is an adverb and as such it modifies adjectives, verbs or other adverbs.
Das Haus ist sehr hoch.
Ich laufe sehr schnell.
Das missfällt mir sehr.
"Viel" is a pronoun and as such it stands in for persons or things.
Ich habe viel gegessen.
You could replace it with "Pizza" or "it" if you want to. "Viel" can also be an adjective that modifies or kind of "counts" nouns.
Jan hat viel Geld.
The two are never interchangeable. The confusion mainly comes from the fact that they can be both a translation for the English "a lot"
Jan has a lot of money.
Melanie likes that a lot.
sehr = very, viel(e) = a lot / much /many
"Viel" is associated with number. You can count how much money Bill has, you can count (sort of) how much the child ate.
"Sehr" is an amplifier, like 'very' in English.
"Ich habe heute viel gelernt." - I have learned much today.
"Ich habe heute sehr viel gelernt." - I have learned very much today.