The EU has banned roaming fees for European SIM cards. So if you buy one in Germany, assuming it allows roaming at all outside of Germany, you'll be able to use it (for data at least) in all of the EU countries. For calls, you'll be able to make them in other countries at the same cost that you would if you were using the SIM in Germany.
I've never bought a German SIM card. Each country has different requirements for buying and activating a SIM. Someone posted here recently that he had bought one successfully there but needed to provide a physical address in Germany (he used a family member's; maybe you could use your hotel's?). Can't comment on it myself having never tried. But even if you succeed, the one possible "gotcha" involves Switzerland. It is not in the EU so not technically covered by the EU roaming restrictions. No guarantee a German SIM would work in Switzerland at all without high roaming fees.
I can recommend the Dutch Vodafone SIM, which I bought on eBay last year and have since used on two trips to Europe (not in the Netherlands yet though!). I got mine from eBay seller "cheapeusims." I used my US credit card on their website to add money so I could buy a "bundle" of data for a month. I assume a Canadian card would also work on their site. The biggest downside of this SIM card is calling: you are charged 20 cents/minute for calls except for a few minutes in the bundle provided to Dutch numbers. Texting also isn't free (you can use WhatsApp or some other free texting app with data.) Data is all I need the SIM for, though, so it works great for me. People who need to make local calls within Europe may find the SIM works fine and also buying say $10 of credit on Skype or Google Hangouts to make calls cheaper than 20 cents/minute.
Also, the Dutch Vodafone SIM covers Switzerland as part of their "EU roaming zone" even though not required by the EU regulations. (Not sure if a German Vodafone SIM would or not.)
Look in the tech forum for my write-up from last year about this Dutch Vodafone SIM.