C.P.
I went threw this stage with all of my kids. It is actually very common. It is a game of "cause and effect" for the child. It is so fun for them to get to be the boss. I know you said that you don't want to take food away, but if you don't play along with the game then she will quit. If she throws it, keep it. When she throws food off the tray, just pick it up and throw it in the trash. If she throws the sippie cup off the tray, just pick it up and throw it in the sink. When she throws things out of the stroller, keep it.
It does not take them long to learn that things will not appear again. A few meals is all it will take. Maybe she throws her food because she is not hungry. She will not let herself starve. Whatever you decide to do is entirely up to you. Don't let her see you frustrated. I know it is hard, but kids thrive on that. Just keep a sense of humor about it. "Nice try, but I think you are finished now." Sometimes a sense of humor is all that keeps you sane. I am the aide on the school bus with 13 preschoolers and that takes every ounce of patience that I have some days. Good luck!!