If somebody distributes food (without charging for the food) on a festival day and I want to know who provided funds for all that food, is it right to ask, "Who funds all this?" What about "Who sponsors all this?"
If the event is happening right now, or will happen in the near future, we use the present progressive - "Who's funding all this?". Perfectly natural response to free food.
When we are talking about events, 'sponsor' is generally used for companies that pay to have their names associated with the event. We would still say - "Who's sponsoring this event?"
Fund and sponsor are terms used to describe when an organization, company, church or rich person pays for something. Both of these can also mean "pay for over time" rather than a one-time thing.
Sponsor has an implication the funding organization/rich individual is doing this for recognition, e.g. wants their name prominently displayed somewhere.
If none of the above is true, you should say "Who paid for this?" or "Who provided all this?"