by not doing any immediate roadside trouble shooting, you're wasting money with random parts replacement, the long cranking time and choke say fuel problem, nothing to do with ignition
I'd bet your tank is dirty and the line is plugging someplace from the driving movements and letting the float bowl get empty, might be right at the carb float needle .... some think a filter between tank and pump is a good idea, I think they're trouble, take it out and replace it with a piece of tubing - next time it happens immediately look at the filter between the pump and carb and see if has fuel in it [if it's not the glass bowl OEM style or a see-thru plastic type change it to one] or have bit of gas with you and immediately dump some in the carb and see if it starts - I'm betting it will, although it might not stay running long depending on where the plug is, could be the sock in your tank
Bill