Hey! I'm am by no means an expert when it comes to the LSAT but I can offer some advice:
I took an online course with PowerScore. It was done through a program called blackboard. You could hear the instructor talk and see their writing. The course comes with books which have all the lesson information, your homework questions, tips and tricks, etc. The course also comes with a book with 4 full practice tests and a book with 10 practice tests excluding the experimental sections. There's 12 lessons in total, each lasting 3 hours, and some course schedules have a lesson only once a week while others offer a lesson 3 times a week. Mine was 3 times a week so my course lasted about a month.
The course is very fast paced. Every time you have a lesson, you're giving a ton of homework which consists of practice questions to complete. They understand that you may not be able to finish all the homework before the next lesson so they give you a list of "essential" homework questions to complete out of all the homework given. Personally, I thought that I may as well just do the course at my own pace and complete all the homework so that I'm getting as much practice as possible. All the lessons are recorded so I would just do all the homework, and watch the next lesson whenever I felt ready instead of feeling pressured to watch it live (only downside to this is you can't ask questions while the lesson is happening but you are given contact info to ask questions at any time outside of the lessons). Once I got the hang of the homework, I started timing myself on the questions as well.
Overall, I found the course to be super helpful. It taught tons of important tips and great ways to do questions without taking too much time. With that being said, I definitely did still feel a little weak in some areas, so once I had finished the course, I printed past LSAT questions from sections I was struggling with and did those while timing myself. Then for a while I did practice tests under the same conditions as the real test (woke up at the time same, timed myself, etc.). I find that this is really helpful especially if your LSAT is going to be early in the morning. The LSAT is exhausting and requires a lot of mental endurance, so you really do have to try and prepare your mind for that. The only thing is, don't just do practice tests robotically - check them over when you're done and see the sections which you're not scoring well on or the type of questions you tend to get wrong, and work on those.
On the practices tests, I was averaging around 163-168. But on the real test I got a 160 which isn't terrible, but I was still a little disappointed. I'm honestly not sure why my test score dropped. It could be due to test anxiety, it could be due to the fact that I wasn't well rested, or idk if this is just me, but I did find that the more recent practice tests were harder, especially the reading comp sections. I was initially doing less recent practice tests, and when I started doing the most recent ones closer to my actual test, I found my scores were dropping...not sure if that was just a coincidence or due to burnout.
Personally, I think any well structured course will serve you well, the rest is up to you and how much time you put into studying and how well you are targeting your practice. I would highly suggest having a consistent studying schedule and sticking to it because once you start taking random days off here and there, things start getting thrown off. I think it's better to study for smaller amounts of time, but on more days, then to study, say, once a week, but for the whole day. It's also definitely important to realize that you can't study all day everyday, because you will burn out and that definitely can affect your performance. It's okay to give yourself a break if you need it!
I think 3 months is definitely enough time to practice unless you have a job or something that's going to take up a lot of your time, in which case you may need more than 3 months.
Hope this helps! Good luck