Sprint does set a limit to how many roaming minutes you can use, lets face it, the more roam you use the more it costs Sprint. They are able to offer a limited amount of roam because they pay fees to people who own the towers, if you go over the limit they have to pay overages that they pass to you, makes business sense.
As mentioned previously, you should find a provider in which you roam less on. Roaming means you're using a tower not owned or leased by your provider.
As far as data limits, I know I use a lot of data and have never received an additional fee for the data, you can even use roaming data with Sprint (within reason) without being charged extra.
All carriers have a cap on roaming, as I said it only make business sense.
http://stopthecap.com/2010/03/01/cla...-data-charges/