I've been doing this quite recently and it's not that complicated. You will need to build that X1541 cable in order to connect a C64 drive to a PC parallel port - I've never seen anything that uses the serial port. It may be tricky to find a new PC with a parallel port these days but I'm sure someone on this forum wouldn't have trouble at all. I use my Socket 7 K6 machine for this purpose. Star Commander is the software I use to transfer disk images and it works well.
Since my 1541 drive is faulty at the moment I made a parallel port cable for my tape drive as well to transfer .tap files. I got the information from this site: http://markus.brenner.de - I use ptap to write my .tap files from my PC to blank tapes quite reliably - depending on the quality of the tape as finding new ones today is difficult.
I used a piece of one-sided unetched PC board and cut some grooves into it to allow me to plug it into the socket on the end of the tape drive cable. I then soldered in the lines to a +5v PSU and the lines out to the LPT port on the PC. The diagram there also includes connections for the 1541 drive, but I found that those are not necessary on a cable made purely to connect a tape drive.
If you want to spend more money then there are two CF card solutions - SD2IEC and 1541 Ultimate. They are the best way to do this but are obviously more expensive than a simple cable solution.
You won't find any software to allow you to directly write C64 disks in a PC drive as PC drives use MFM encoding and the C64's disks are encoded with GCR encoding which is completely incompatible. Also the C64 disks spin at two different speeds depending on where the head is on the disk so that's another barrier. The only way to do this is with a dedicated low-level disk drive controller card like the Kryoflux - which is even more expensive than the CF solutions.