There is no "best" controller. The best controller for you to use will always be the one most comfortable to you. I use arcade stick, Oreo uses fightpad, Klisk uses a PC SNES controller at times, and Nappy goes back and forth between keyboard and hitbox. There are tons of options that work with the game, so whatever works best for you is what you should go with!
Keyboard's a bit mixed to me. I've been able to play Dark Souls with one, but at a point it kept having errors. I'd guess too much action on it wears it down and causes delays/disconnects. Even so, with the right key binds, you can about do anything. Still recommend something other than a keyboard though, I got a spare board just in case the old one has issues again. Controllers will last longer.
Different keyboards can respond differently, one of the biggest problems is generally just "ghosting" where several keys can't be pressed at the same time. Usually helps to bind them with that in mind, and the in-game macros generally help with that as well. Depending on your keyboard, and your controller, no one option will last longer. I know Oreo has gone through several different fightpads over time, and I know I've replaced stick components more times than I can count.