There are very fast Common Lisp implementations out there (give SBCL a try, for instance), and Common Lisp is not a functional language. It's a multi-paradigm language that among other things support functional programming, although functional style in Common Lisp is a bit more awkward than in more purely functional Lisps like Clojure. Most of the large-scale Common Lisp programs I have seen are heavily object-oriented rather than functional, and some of the most brilliant Lispers I have worked with have a quite strong distaste for functional programming.
I've used Common Lisp for performance-intensive tasks in the past, including some chess programming tasks (but no complete chess engine). These days, I do chess programming in Julia, a more recent Lisp dialect. Again I have no chess engine, but a perft search (a quite good measure low-level speed for chess programming) to depth 7 (3,195,901,860 positions) from the initial position takes 16 seconds on a single core of my Intel MacBook Pro. This is not ridiculously slow, especially when considering that I have made no particular effort to optimize.
I have full confidence that I could write a competitive chess engine in Julia. It would probably not be quite as fast as what I could make in C/C++, but it would be close enough.
I've used Clojure (which is a functional Lisp) as my main language in my job for years, and find it to have tremendous practical value. Sure, it's nowhere near as fast as C, C++, Common Lisp, or Julia, but for most tasks, it's more than fast enough. It's an order of magnitude faster than Python, and nobody would say that Python has only theoretical value.They have only theoretic value.