There are a number of considerations as to what wire you use and how you want to run it. If you are pulling through conduit, I prefer soft annealed copper wire, if you are doing direct burial or overhead, then use aluminum service entrance/direct burial type. A 100 amp breaker/sub panel, you would use 4AWG copper, 2AWG aluminum x 3 (neutral can be 1 size smaller), and a ground wire of at least 8AWG copper, or 6AWG aluminum. You want to make sure the wire is rated to 90C and also all the connections/breakers are also rated to this temperature. This may sound trivial, but often connection may be rated at a lower temp, and you need to derate the system. There also may be some derating for direct burial vs free air service entrance wire size. Code may vary a bit, conduit size for a 100A service is 1.25" Cu, 1.5" Alu. Voltage drop is about 0.8% for the size wire specified over 40 feet. Either wire would work, what you use depends on how you want to pull it, the cost difference at this level is minimal. Aluminum becomes a lot cheaper as you go to larger gauge wire. Terminals must be rated for aluminum, and I use a electrical gel on the wires which prevent corrosion. Also be sure to mark the wires at both ends before you pull it to denote red-hot (L2), white-neutral, green-ground (if wire is not already green).
I put in a 100amp sub panel service to my garage, it is about 38' from my main breaker box. I used a 1.5" plastic electrical conduit (a bit bigger than required, but easier to pull wire), and use three 4AWG copper THHN wires (1.19/foot at home depot), and one copper 6AWG THHN green ground. There is no reason to go bigger, if you have a 100 amp service. You can pull off both 240V and 120V on separate breakers in the sub-panel, so you should not need to pull any other wires in the conduit coming from the main breaker.