Preposition is one of the most difficult things. It's hardly possible putting this into a rule or explaining it properly.
There are already some question on this site, addressing this or a similar topic:
Regarding your actual questions:
If you go "nach" Disneyland/Phantasialand, you will enter a country which doesn't exist. Good luck.1
If you go "zum" Disneyland/Phantasialand, it sounds a little odd as if you were to go there but wouldn't enter, but it's fine though.
If you go "ins" Disneyland/Phantasialand, you will have a lot of fun. I live close to Phantasialand, so I can assure you this is what people say.
In case of Grand Canyon it's the same. You can use both "zum" and "in" and the latter sounds a little better. "In" really says that you will go into that canyon. "Zum" implies that, too, but it's actually saying that you just go there. If that makes sense?!
It's a little different for Walmart though. "Nach" is still wrong, that's for sure. But you can use both "zum" and "in", at least with the verb "to go". I'm not quite sure about using "in" with "to drive". Here's an example with McDonalds:
A: Komm wir fahren zum Macces.
B: DriveIn oder gehen wir in den Macces?
Nobody would say that we "drive" into McDonalds. I guess you don't want to damage your car. But you can "go" to and into it.
And though, you sometimes hear
Ich fahre in den Aldi, kann ich dir was mitbringen.
Komm, wir fahren innen(=dialect for "in den") Macces. 2
Some backseat driver will comment this, but that's not really funny.
Conclusion: Both "zum" and "in" is fine with Walmart, McDonalds and Aldi.
Finally, I'm not sure if this is a brave statement, but I think "nach" is restricted to countries or cities. I'm almost sure people will disagree about this in comments.
1 Just noticed that the other answer says that "Ich fahre nach Disneyland" would be fine. It sounds horrible to me and if someone said that to me, I would ask if Disneyland is a country on its own of late. Even in a sentence like "Den Zug von Lüttich
nach zum Disneyland nehmen" I wouldn't use "nach".
- "Ich fahre nach Frankfurt", but "Ich fahre zum Frankfurter Flughafen"
- "Ich fahre nach Paris", but "Ich fahre zum Disneyland"
Since other people say that "nach" is fine, I guess that it really depends on your dialect. But for me "nach" isn't fine at all.
2 With McDonalds it only sounds acceptable with the dialectal version "innen". Using standard German is a little strange for McDonalds, but absolutely fine for Aldi.