There's a product that gets pretty good reviews throughout the Jeep community called "Gear Aid Aquaseal."
Been many years ago in an old YJ I had to patch a hole and used a canvas repair sealant after I sewed it up as best I could. After the sealant cured, I cut off the stitches still visible and it held pretty well.
I've got a couple rips in my TJs top (boy does it need a new top) repaired with flex tape. You can tell it's there, but that stuff has proved itself many times over for many things, it will last years.