The best way to attach patches to the uniform shirt is the old-fashioned way: sewing them on by hand (with a needle, thread, and thimble) or with a sewing machine. Using “invisible” thread (available from JoAnn or Michaels) and a wide stitch pitch (5-7 stitches per inch) works best. If sewing is not your thing, you can have the local Scouting Center sew on badges for a small fee. Be sure to ask how long it will take because they send it out and sometimes it takes a while to get the completed shirt back.
Iron-on adhesives such as Badge Magic (and similar products) are sold in the Scouting Center and online as an easy way to attach patches without sewing. Many parents use this method, but like all shortcuts it comes with a tradeoff: After a while, the patches can start to lift at the edges and then additional work is then required to keep the shirt looking good. Also, if an ironed-on patch has to be removed (e.g., when the scout transitions from 5th grade to a Middle School-level BSA troop), the adhesive may leave a stain or permanent residue on the shirt where the patch used to be.
NOTE: Most patches in Scouting come with a plastic backing that is meant to provide structural rigidity. The plastic backing should not be mistaken as a built-in way to attach the patch to a shirt. If you try to melt the plastic backing using an iron, the patch might start to stick after a really long burn, but it will fall off in the next wash.