After many rounds of trial and error, I have improved the performance of my 3d-printed cannons. By increasing the radius of the internal coil, the rounds now feed more reliably. I was also able to increase the slope of the straight portions, hopefully allowing it to operate on a wider range of down-angles. I also included the Fusion 360 file, so you can view and edit the design yourself if you so desire.
Furthermore, I have incorporated the female-threaded breech and a stackable version that includes a cutout so you can have triple or quadruple cannons. For the female-threaded breech, you will also need a printed compression nut, found here: https://rcwarshipcombat.com/resources/3dp-compression-nut.182/
There is a cutout on the back for a 6mm diameter neodymium magnet. Be aware that magnet strength has a significant effect on feeding. Too weak, and it won't feed well. Too strong, and it'll spurt. I've had good luck with 6mm dia x 6mm long magnets, but you'll need to experiment to find what works best for you.
For printing, I have found that the finer the layer height, the better. I print my cannons in ABS at 0.1mm layer height, with a brim for bed adhesion and supports on the exterior only. After printing, the threads need to be cleaned up with a tap (1/4-20 on top, 1/8NPT on bottom) then the cannon needs to be brushed with acetone to seal the layers so it can hold pressure. A quick vapor bath clears up any undesirable residues left from the acetone brushing.
Lastly, the cannon was designed to use 1/2in SS rivets from McMaster Carr as the piston, with the base of the rivet cut down to fit. If you do not have a lathe or other suitable power tool to cut stainless steel, I have included a printable piston file as well. Be aware that pistons are subject to significant impacts during operation, and I have had failures with 3d-printed pistons.