Program STM32 MCU with SWD by default as alternate function
That is correct. You only need SWDIO &amp; SWCLK. Most of the time NRST connection is not needed. AFAIK, debugger can send some kind of soft reset sequence using data and clock pins. Hardware reset pin may be needed if SWDIO &amp; SWCLK pins are configured as GPIO pins (related with your 2nd question) just after the reset, thus preventing debugging. I have never needed it, but it's still wise to include it in your debugging header if you have space in your PCB. There is also SWO pin, which provides additional debug output if enabled. It's not essential, and Chinese ST-Link clones don't have the pin breaked out in their connector, even though their firmware supports it.
After reset, all pins related with debugging are available unless you configure them for other purposes in your firmware. In some models, this includes the JTAG pins. If you configure them as GPIO pins (or for other purposes) just at the beginning of your firmware, the debugger may not have time to start a debugging session. In this case, usage of the hardware NRST pin may be necessary. BOOT pins are not related with debug pin configuration. They configure mapping of the address space. Most of the time you connect BOOT0 to GND to boot from flash. Booting from RAM or internal factory bootloader is also possible.
As I stated on answer 2, STM32 devices have internal bootloaders, which can be activated using BOOT0 pin (with the correct OPTION bytes in flash). It's also possible to jump into this factory programmed bootloader from user code. Although it's a little bit complicated, it's possible to find examples on web. Some devices also provide USB DFU bootloaders (STM32F042 for example). When using these products, you don't even need to use a USB - Serial converter. Factory programmed bootloader may also support other interfaces, like SPI or CAN, but I'm not sure and I can't remember. You need to check the specific device documentation.

BTW, SWIM pin is used to program and debug STM8 parts (yes, ST-Link is capable of that). It's not related with STM32 parts.