While it's not in the context of schools typically (I don't have kids), I tend to agree.
-The entire purpose of participating in a charitable endeavor is to raise money for the cause. I do not like charitable causes that require people to solicit money from friends or family to participate - you "running" is not raising money for the cause therefore, you are relying on sponsors to do it, and for me that's a no. Just like the whole ALS ice bucket challenge - make a viral sensation on the internet where people actively avoid giving money to charity by instead dumping ice water on themselves.
-Get togethers that waste donated money by the costs, generally detract from the overall mission in my opinion (exception below). T-shirts can be used to successfully market the cause, provided they are produced at low cost, and they advance the cause in a way that is supportive of the cause. Meaning, I cringe when I see T shirts promoting a "1 mile walk for charity" - might as well put "crossing the street for charity" as there's no difficulty involved, and IMO it undermines the charitable cause in many ways, not the least of which is the laughability factor.
-Get togethers can, however, be productive in the context of donors who have reached a certain level participating in an expensive dinner at the location of the charity. These get togethers attract people of considerable means, all of whom are invested in the organization to varying positive degrees, and the opportunity exists to showcase the most recent goings on, how the money is being put to use, and to solicit further donations tastefully in the context of the hospitality extended to donors. However, at this level of giving, it goes way beyond "pay $20 for the school and get a pizza party"
Just my thoughts.