Designing the perfect fit is a difficult task since every 3D printer and filament has slight variations. The first thing to try is to make sure you are printing dimensionally accurate parts. You can print a 10mm cube and measure it with some calipers to ensure it's 10mm on all sides. If not, try consulting your printer's forum/guide to dial in the accuracy. If your printer is already accurate you can try scaling parts up or down by 1% or even less to see if they fit better. Lastly for fixed parts, a simple drop of superglue is a quick and easy solution to attach parts.