Oh boy, I'm a native Englsh speaker, and that's not an easy question. Actually, by all technicalities, there is not much difference in the two words at base, but one is used much more loosely than the other.
Great: can be referring to the large size of something, the best quality of something, the appeal qualities of something, or it can be a reference as to how much a person is enjoying his or herself (example: "this waterslide is great!"). And the word "great" is much more likely to acompany slang terms.
Grand: in general, is a word that's used much more tightly, and you will not find people sayig it nearly as often as "great". It's a reference to something that possesses all the above possibilities of "great" all at once, and it usually has something very "proper" and "classy" about it as well.
When it comes to size: "Great" means huge, "grand" means "uncomparable", because whatever it is, it's one of the biggest, if no the biggest.
In general: it's up to the individual to decide what is "great" and what is "grand".