Spent Saturday crawling around my basement cutting foam board for every rim joist bay, and I'm actually kind of shocked how much of a difference it made alredy. The draft that used to come through near the back door is basicly gone, and the basement floor feels way less cold underfoot.
Method was simple: two inch foam board cut snug to each bay, then a bead of can foam around every edge to seal gaps. The cutting took longer than I expected beacuse none of my bays were square. Old houses, right. A sharp utility knife and a scrap piece of board as a template saved me a ton of frustration. Where the sill plate was uneven I just mounded extra foam and trimmed it after it cured. One thing I learned the hard way, do the sealing in stages. I tried doing ten bays before going back to foam the edges and half of them had shrunk gaps by the time I got there. Also kept the foam a few inches clear of the flue pipe off the old boiler, which meant patching around it carefully with board instead.
Whole thing cost less than one two part spray kit would have and I still have half a tube of can foam left. If your bays are mostly regular sized, this is absolutely the weekend route.